不然A,B,E这是三种不同的类类型,虽然同是继承某个超类,但是不能转换的,只能依靠接口来代替。
import java.io.*;
import java.util.*;public class interfaceB
{public static void main(String [] args)
{
p p=new p();
pp pp=new pp();
p.a();
pp.a();
interfaceA d=null;
d=p;
p.a();
d=pp;
d.a();}}class p extends interfaceA{ public void a(){

System.out.println("p");
}}class pp extends interfaceA{
public void a(){

System.out.println("pp");
}}abstract class interfaceA{
public void a(){};
}