第一个是如何实现同时继承两个类
public class MultiExtendsDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
C c = new C();
c.showA();
c.showB();
}
}
//同时继承两个类
class A{
public void showA() {
System.out.println("A");
}
}
class B{
public void showA() {
System.out.println("B");
}
}
class C{
private class C1 extends A{
public void showA() {
super.showA();
}
}
private class C2 extends B{
public void showA() {
super.showA();
}
}
public void showA(){
new C1().showA();;
}
public void showB(){
new C2().showA();;
}
}
第二个是如果一个类和接口有同名方法,该如何继承
public class MultiExtendsDemo2 {
//继承类和接口中出现相同方法名怎么办?
public static void main(String[] args) {
// TODO Auto-generated method stub
Son son = new Son();
son.show();
son.show2();
}
}
abstract class Parent{
abstract public void show();
}
interface IShow{
void show();
}
/*class Son extends Parent implements IShow{//一种方法是改名字,将接口中的改为show1
public void show() {
}
public void show1() {
}
}*/
class Son extends Parent{
public void show() {
System.out.println("抽象类中的show方法");
}
private class SonSon implements IShow{
public void show() {
System.out.println("接口中的show方法");
}
}
public void show2() {
new SonSon().show();
}
}