package Practise;public class Java2110 { String name; String sex; static int age; public Java2110(){ name = "tom"; System.out.println("通过构造方法初始化name"); } { sex = "男"; System.out.println("通过初始化块初始化sex"); } static{ age = 20; System.out.println("通过静态初始化块初始化age"); }/* public static void main(String[] args){ Java2110 hello = new Java2110(); System.out.println("姓名:"+hello.name+","); System.out.println("性别:"+hello.sex+","); System.out.println("年龄:"+age); Java2110 hello2 = new Java2110(); }*/ public void AA() { System.out.println("姓名:"+name+",性别:"+sex+",年龄:"+age); } public static void main(String[] args){ Java2110 hello = new Java2110(); }}为什么答案是:通过静态初始化块初始化age通过初始化块初始化sex通过构造方法初始化name需要输出的答案是:通过静态初始化块初始化age通过初始化块初始化sex通过构造方法初始化name姓名:tom,性别:男,年龄:20我只是把赋值语句放在了输出语句前面了而已(加黑部分),为什么就出现这样的情况了,大佬能给我解释一下原因吗?
添加回答
举报
0/150
提交
取消