package thinking_in_java;class X {
Y b = new Y(); X() {
System.out.print("X");
}
}class Y {
Y() {
System.out.print("Y");
}
}public class Z extends X {
Y y = new Y(); Z() {
System.out.print("Z");
} public static void main(String[] args) {
new Z();
}
}
 
输出结果为:YXYZ
请详细的讲讲输出顺序及为何,谢谢

解决方案 »

  1.   

    我来给你讲讲:首先:Z是X的子类,所以new Z();肯定要先初始化X的子对象 所以输出YX然后执行Z自己的初始化 就是YZ了
      

  2.   

    interface MyInterface {
    }public class MyInstanceTest implements MyInterface {
    static String s; public static void main(String args[]) {
    MyInstanceTest t = new MyInstanceTest();
    if (t instanceof MyInterface) {
    System.out.println("I am true interface");
    } else {
    System.out.println("I am false interface");
    }
    if (s instanceof String) {
    System.out.println("I am true String");
    } else {
    System.out.println("I am false String");
    }
    }
    }
    还有这个,instanceof 不理解!!!
      

  3.   

    A instanceof B :
    如果对象A是类B的实例则,
    返回true,否则返回false.
      

  4.   

    那么结果:
    I am true interface
    I am false String
    解释一下!谢谢!
      

  5.   

    class MyThread extends Thread{
    public void run(){
    System.out.println("MyThread: run()");
    }
    public void start(){
    System.out.println("MyThread: start()");
    }
    }
    class MyRunnable implements Runnable{
    public void run(){
    System.out.println("MyRunnable: run()");
    }
    public void start(){
    System.out.println("MyRunnable: start()");
    }
    }
    public class MyTest {
    public static void main(String args[]){
    MyThread myThread  =  new MyThread();
    MyRunnable myRunnable = new MyRunnable();
    Thread thread  =  new Thread(myRunnable);
    myThread.start();
    thread.start();
    }
    }
    还有这个之间的继承关系!看了感觉不是太懂
      

  6.   

    你这里 s还是一个null 当然不是String 啊
      

  7.   

    同意interpb(曾曾胡)的判断,把s赋值后就I am  true String;