当实现多个接口时的多态:
interface IA{
public void fun1();
}
interface IB{
public void fun2();
}
abstract class AbsC{
public abstract void fun3();
}
class Sub extends AbsC implements IA,IB{
public void fun1(){
}
public void fun2(){
}
public void fun3(){
}
}
main(){
//使用接口多态
IA a = new Sub();
a.fun1();//只能访问fun1()方法
a.fun2();//编译错误。在IA中没有fun2()方法
//向下转型
Sub sub = (Sub)a;
sub.fun1();//OK的
sub.fun2();//OK的
IB b = new Sub();
b.fun1();//编译错误。在IB中没有fun1()方法
b.fun2();//OK的
//抽象类多态
AbsC c = new Sub();
c.fun3();//只能访问fun3();
}
|
|