课后作业

动手动脑1:
Foo类缺少无参构造方法,在Test类的main方法中,创建Foo对象时使用了无参构造方法
进行实验:
200
300
构造方法初始化块和声明时的显式赋值按它们在源代码中出现的顺序执行。构造方法最后执行,可以覆盖之前初始化块或显式赋值的值。
动手动脑2:
静态初始化(静态字段 + 静态块)只在类加载时执行一次。静态初始化按代码顺序执行。父类静态 → 子类静态 → 父类实例 → 父类构造 → 子类实例 → 子类构造。实例初始化块在每次创建对象时 的执行,在构造方法之前执行。如果类未被主动使用,静态初始化块不会执行。
一个有趣的问题:
public class Example {
private int instanceField = 10;
public static void staticMethod(Example obj) {
System.out.println(obj.instanceField);
obj.instanceMethod();
}
public void instanceMethod() {
System.out.println("实例方法");
}
public static void main(String[] args) {
Example example = new Example();
staticMethod(example);
}
}

posted @ 2025-10-16 12:37  为人在世  阅读(3)  评论(0)    收藏  举报