前几天网上看到关于内部类的知识,说道内部类是否可以继承类或实现接口,给的答案是可以而且必须要继承一个内部类或接口,但是今天又看到说不可以。这就让我很迷惑了,所以又继续查找相关资料,最终搞清楚了,其实这两种说都没错。
首先来看看匿名内部类怎么实现,
Interface A{ public void method(); } 这时你可以写一个如下的语句得到接口A的实现类的对象 A a=new A(){ public void method(){System.out.println("hehe");} }; 而其中的{ public void method(){System.out.println("hehe");} };就是定义了一个匿名内部类
以上可以看出匿名内部类在实现时必须借助一个类或一个接口,若从这个层次上讲它是可以继承其他类也可以实现接口的,但若是通过extends或implements关键字那是不可以的。