众所周知,在java中,支持多重接口,但是只支持单继承,所以当某两个类需要继承同一个类,但是这两个类又分别继承于另外不同的两个类,这个样就有点难弄了,查阅过很多资料,说用接口来实现多继承,但是把实现直接写在接口里肯定是不符合规范的,那么用内部内毫无疑问是一个不错的选择。
实例:
//内部类实现多继承
class C {//C类
// private String name="...";
//do somethingpublic void printC(){
System.out.println();
fun();
}
}class A extends A1{//A类
class InnerA extends C{
public void printC(){
System.out.println();
}
}
private int num=10;
public int getNum(){
return this.num;
}
public void fun(){InnerA fun = new InnerA ();
fun.printC()
}
}
class B extend B1 {//B类(与A类无关)class Inner_B extends C{
public void printC(){
System.out.println();
}
public void fun(){InnerB fun = new InnerB ();
fun.printC()
}
}
如上所示:A通过调用InnerA实例化的fun就有继承C的效果,同时又继承了A1,
B通过调用InnerB实例化的fun就有继承C的效果,同时又继承了B1,
InnerA和InnerB都继承C。
456



被折叠的 条评论
为什么被折叠?



