问答详情
源自:8-10 Java 中的 static 使用之静态初始化块

静态初始化的问题

public class HelloWorld {
    
    String name; // 声明变量name
    String sex; // 声明变量sex
    static int age;// 声明静态变量age
    
    // 构造方法
    public HelloWorld() {
        System.out.println("通过构造方法初始化name");
        name = "tom";
    }
    
    // 初始化块
    {
        System.out.println("通过初始化块初始化sex");
        sex = "男";
    }
    
    // 静态初始化块
     static{
        System.out.println("通过静态初始化块初始化age");
        age = 20;
    }
    
    public void show() {
        System.out.println("姓名:" + name + ",性别:" + sex + ",年龄:" + age);
    }
    
    public static void main(String[] args) {
        
        // 创建对象
        HelloWorld hello = new HelloWorld();
        // 调用对象的show方法
         hello.show();
        
    }
}

为什么构造方法时命名必须要为HelloWorld(见加粗部分)?

提问者:weibo_水瓶逝忆_03909733 2016-09-13 14:43

个回答

  • 谁的哀愁
    2016-09-13 15:00:42
    已采纳

    这是构造方法的命名规定,另外构造方法的作用是对本类的属性进行初始化,所以要用类名作为方法名

  • 面向你
    2016-09-13 15:13:44

    第一你要知道构造函数的写法规范。(1方法名与类名相同2不需要返回值)

    第二你要知道构造函数是用来干什么的,用在哪些地方。(1主要作用是初始化也叫作实例化 2还能传值)

    第三本案例只是让你知道static(静态变量的作用及用法),通过本类名打点(.)调用。

    第四你的问题是构造函数为什么要是helloworld,因为类名是helloworld,并且在实例化helloworld这个类时,构造方法也被调用了,并且进行了传值操作。

  • 慕仔8176320
    2016-09-13 15:05:24

    1.构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。
     2.构造方法的调用是在创建一个对象时使用new操作进行的。构造方法的作用是初始化对象。
     3.不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承。

  • 此处省略一
    2016-09-13 15:00:13

    和系统默认的构造方法一样,在下面静态调用时就可直接使用,不需要重新初始化!