Java实现多继承的方法
Java供了两种方式让我们曲折来实现多重继承:接口和内部类。
接口实现多继承
在Java中子类只能继承一个父类,但是却可以实现多个接口。
interface A {
void actionA();
}
interface B {
void actionB();
}
class D {
void actionD() {
System.out.println("actionD");
}
}
public class C extends D implements A, B {
public static void main(String[] args) {
// TODO Auto-generated method stub
C c=new C();
//c拥有3个方法
c.actionA();
c.actionB();
c.actionD();
}
@Override
public void actionB() {
// TODO Auto-generated method stub
}
@Override
public void actionA() {
// TODO Auto-generated method stub
}
}
内部类实现多继承
如果需要继承的父类为抽象类或者具体类,那么我就仅能通过内部类来实现多重继承了。就是用子类的内部类继承父类。
class A {
void actionA(){}
}
class B {
void actionB(){}
}
public class C {
class _A extends A{}
class _B extends B{}
public static void main(String[] args) {
C c = new C();
_A a = c.new _A();
_B b = c.new _B();
a.actionA();
b.actionB();
}
}