类ClassA:
public class ClassA {
protected int varSame = 0;
}
类ClassB:
public class ClassB {
protected int varSame = 1;
}
子类ClassC:(假设允许类与类之间多继承)
public class ClassC extends ClassA, ClassB {
public void printOut() {
System.out.println(super.varSame);
}
public static void main(String[] args) {
ClassC classC = new ClassC();
classC.printOut();
}
}
上面程序的运行结果会是什么呢?输出0还是1?
2:如果在一个子类继承的多个父类中拥有相同方法,子类中有没有覆盖该方法,那么调用该方法时将产生歧义,无法判断应该调用哪个父类的方法。
例如:
类ClassA:
public class ClassA {
public void printOut() {
System.out.println(0);
}
}
类ClassB:
public class ClassB {
public void printOut() {
System.out.println(1);
}
}
子类ClassC:(假设允许类与类之间多继承)
public class ClassC extends ClassA, ClassB {
public static void main(String[] args) {
ClassA classA = new ClassC();
classA.printOut(); // ------------------------- A行
ClassB classB = new ClassC();
classB.printOut(); // ------------------------- B行
ClassC classC = new ClassC();
classC.printOut(); //------------------------- C行
}
}
上面程序的运行结果会是什么呢?A、B、C三行的输出是0还是1?