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(); } }
你这个例子,如何运行啊? java B.java? 还是其他的.
谢谢xname,,的解答,,但是这个例子是在java的那部分上的???
根据你的结果的解释: 1,B extends A 执行A的构造方法, 2,dosomething() 被执行 3,
执行其构造函数《《不就应该输出BBB,,吗???为什莫是AAA??
谢谢各位,,请旁忙看一下
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();
}
}
java B.java?
还是其他的.
1,B extends A 执行A的构造方法,
2,dosomething() 被执行
3,
在JDK下运行时先javac B.java,然后java B就可以了!