初始化块和构造方法的区别

来源:8-10 Java 中的 static 使用之静态初始化块

愿遂

2016-03-08 21:20

在示例中我看不出初始化块和构造方法的区别,两对大括号中间的内容基本是一样的,怎样确定哪个是构造方法?是否是紧跟在后面的就是构造的,其他的就不是了呢

写回答 关注

1回答

  • 蟠木不雕饰
    2016-03-08 21:54:42
    已采纳

    public class HelloWorld {

        

        String name; // 声明变量name

    String sex; // 声明变量sex

    static int age;// 声明静态变量age

        

        // 构造方法,                   构造函数的方法名一般和类重名,  HelloWorld()方法名

    public   HelloWorld     () { 

    System.out.println("通过构造方法初始化name");

    name = "tom";

    }

        

        // 初始化块             初始化块就是一对大括号,没有访问修饰符和方法名阿

    System.out.println("通过初始化块初始化sex");

    sex = "男";

    }

        

        // 静态初始化块                    static是关键字, 静态...也没有访问修饰符和方法名阿

      static     { 

    System.out.println("通过静态初始化块初始化age");

    age = 20;

    }

    静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。


    共 1 条回复 >

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530644 学习 · 6091 问题

查看课程

相似问题