java public class Z extens X{ Y y=new Yjava public class Z extens X{Y y=new Y();Z(){system.out.println(“Z”);}public static void main(string args【】){Z z=new Z();}}class X{Y y=new Y();X(
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/06 16:46:42
![java public class Z extens X{ Y y=new Yjava public class Z extens X{Y y=new Y();Z(){system.out.println(“Z”);}public static void main(string args【】){Z z=new Z();}}class X{Y y=new Y();X(](/uploads/image/z/8646664-40-4.jpg?t=java+public+class+Z+extens+X%EF%BD%9B+Y+y%EF%BC%9Dnew+Yjava+public+class+Z+extens+X%EF%BD%9BY+y%EF%BC%9Dnew+Y%EF%BC%88%EF%BC%89%EF%BC%9BZ%EF%BC%88%EF%BC%89%EF%BD%9Bsystem.out.println%EF%BC%88%E2%80%9CZ%E2%80%9D%EF%BC%89%EF%BC%9B%EF%BD%9Dpublic+static+void+main%EF%BC%88string+args%E3%80%90%E3%80%91%EF%BC%89%EF%BD%9BZ+z%EF%BC%9Dnew+Z%EF%BC%88%EF%BC%89%EF%BC%9B%EF%BD%9D%EF%BD%9Dclass+X%EF%BD%9BY+y%EF%BC%9Dnew+Y%EF%BC%88%EF%BC%89%EF%BC%9BX%EF%BC%88)
java public class Z extens X{ Y y=new Yjava public class Z extens X{Y y=new Y();Z(){system.out.println(“Z”);}public static void main(string args【】){Z z=new Z();}}class X{Y y=new Y();X(
java public class Z extens X{ Y y=new Y
java
public class Z extens X{
Y y=new Y();
Z(){
system.out.println(“Z”);
}
public static void main(string args【】){
Z z=new Z();
}
}
class X{
Y y=new Y();
X(){
system.out.println(“X”);
}
}
class Y{
Y(){
system.out.println(“Y”);
}
}
在内存中是怎么执行的?
java public class Z extens X{ Y y=new Yjava public class Z extens X{Y y=new Y();Z(){system.out.println(“Z”);}public static void main(string args【】){Z z=new Z();}}class X{Y y=new Y();X(
随手写的代码吧,关键字也能错.
我觉得你的问题应该是问java类初始化的执行顺序.
java类初始化的顺序是:
1.静态属性
2.静态自由块
3.属性
4.自由块
6.构造方法
再加上继承关系,初始化的顺序是:
1.父类:静态属性
2.父类:静态自由块
3.子类:静态属性
4.子类:静态自由块
5.父类:属性
6.父类:自由块
7.父类:构造方法
8.子类:属性
9.子类:自由块
10.子类:构造方法