拜托了 这个问题我想了好久 也google没找着
new的时候就是调用类的构造函数
输出
[code="java"]
A()
B()
b:f()
[/code]
B b = new B();//这条语句执行时先调用A类构造函数
因为B类集成了A所以重写了f();方法
所以会调用b实例的f()方法
我敲了代码看了一下
这里创建两个类
A.java
[code="java"]public class A {
protected void print(String s) {
System.out.println(s);
}
A() {
print("A()");
}
public void f() {
print("A:f()");
}
}[/code]
B.java
[code="java"]class B extends A {
B() {
print("B()");
}
public void f() {
print("b:f()");
}
public static void main(String[] args) {
B b = new B();
b.f();
}
}
[/code]
运行B类的main方法输出
[code="java"]A()
B()
b:f()[/code]