你可以看看<<Thinking in Java>>有关继承的那段。

解决方案 »

  1.   

    这是关于继承的吗??,java从main开始,,不是生成class,B的实例吗??
    执行其构造函数《《不就应该输出BBB,,吗???为什莫是AAA??
    谢谢各位,,请旁忙看一下
      

  2.   

    class A {
      public int Avar;
    4==>  public A() {
    5==>      System.out.println("AAA");
    6==>      doSomething();
      }
    never run==>  public void doSomething() {
          Avar = 1111;
          System.out.println("A.doSomething()");
      }
    }public class B extends 3==> A {
    8==>  public int Bvar = 2222;
    9==>  public B() {
    10==>      System.out.println("BBB");
    11==>      doSomething();
    13==>      System.out.println("Avar=" + Avar);
      }
    7==>12==>  public void doSomething() {
          System.out.println("Bvar=" + Bvar);
      }
    1==>  public static void main(String[] args) {
    2==>      new B();
      }
    }
      

  3.   

    你这个例子,如何运行啊?
    java B.java?
    还是其他的.
      

  4.   

    谢谢xname,,的解答,,但是这个例子是在java的那部分上的???
      

  5.   

    根据你的结果的解释:
    1,B extends A 执行A的构造方法,
    2,dosomething() 被执行
    3,
      

  6.   

    这是一个关于继承的例子,在main中实例化B在调用B的构造函数时,首先执行A的构造函数中的语句,此时只实例话了一个类A,B还没有被实例化,执行完A的构造函数中的语句,才开始实例化B,执行B构造函数中的语句.
    在JDK下运行时先javac B.java,然后java B就可以了!
      

  7.   

    这个例子需要java,那部分知识点????谢谢
      

  8.   

    谢谢各位。不好意思shelly(),我的分给完了,