书上说“内部类允许继承多个非接口类型”,可是如下程序为什么编译通不过呢?public class Inner
{
class Inner1
{
public void p1()
{
System.out.println("p1");
}
}
class Inner2
{
public void p2()
{
System.out.println("p2");
}
}
class Inner3 extends Inner1,Inner2
{
public void p3()
{
System.out.println("p3");
}
}
public static void main(String[] args)
{
Inner in = new Inner();
}
}
{
class Inner1
{
public void p1()
{
System.out.println("p1");
}
}
class Inner2
{
public void p2()
{
System.out.println("p2");
}
}
class Inner3 extends Inner1,Inner2
{
public void p3()
{
System.out.println("p3");
}
}
public static void main(String[] args)
{
Inner in = new Inner();
}
}
好象是是说通过使用内部类可以实现继承自多个多接口类的效果,因为java中一个类只能继承自一个类但可以实现多个接口
写法是错的。
这里指的不是你这个意思,应该是内部类可以继承外部类的的一些属性和方法
不允许多继承把
============================
我认为这句话讲的意思并不是单一的内部可以同时继承多个非接口类型,而是,每个内部类可以继承一个,而多个内部类,每个内部类继承一个,达到了同时继承多个非接口类型的效果。记住,Java中没有多重继承。内部类也不例外。
请使用接口实现多重继承
http://www.enet.com.cn/eschool/zhuanti/java/