为了账号安全,请及时绑定邮箱和手机立即绑定

静态初始化的问题

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(见加粗部分)?

正在回答

5 回答

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

1 回复 有任何疑惑可以回复我~
#1

weibo_水瓶逝忆_03909733 提问者

非常感谢!明白了
2016-09-13 回复 有任何疑惑可以回复我~

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

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

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

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

1 回复 有任何疑惑可以回复我~
#1

weibo_水瓶逝忆_03909733 提问者

谢谢!
2016-09-13 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

weibo_水瓶逝忆_03909733 提问者

谢谢哦,明白了
2016-09-13 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

weibo_水瓶逝忆_03909733 提问者

确实是这样的,谢谢
2016-09-13 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530553    人
  • 解答问题       6091    个

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

进入课程

静态初始化的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信