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”);
}
}

在内存中是怎么执行的?

执行结果: 

Y

X

Y

Z

分析:
1  ,执行   Y y=new Y(); 调用  C lass Y    输出 Y
    2执行无参构造器     输出Z
  为什么 Class X 没起作用呢?是因为 Z继承了X ,但是 并没有用到关于X中的成员。


你可能感兴趣的:(java 继承问题 public class Z extens X{ Y y=new Y(面试问题))