内部类的多重继承
之前一直以为内部类可以多重继承是因内部类可以访问外部类的所有属性,这样才形成了一个类似于多继承的形式。后来发现并不是这样。在此记录以下。
public class A {
int a1 = 1;
void a1(){
System.out.println("A类的a1方法");
}
}
public class B {
String s = "Hello World";
String b1(){
return "B类的b1方法";
}
}
public class AB {
// 内部类A1继承A
class A1 extends A{
}
// 内部类B1继承B
class B1 extends B{
}
// 在ab方法中调用内部类
void ab(){
A1 a1 = new A1();
a1.a1();
System.out.println(a1.a1);
B1 b1 = new B1();
System.out.println(b1.s);
System.out.println(b1.b1());
}
}
public class Test {
public static void main(String[] args) {
AB ab = new AB();
ab.ab();
}
}
运行结果 |
---|
A类的a1方法 1 Hello World B类的b1方法 |
接口也一样