本帖最后由 胡永城 于 2013-12-17 10:51 编辑
1、匿名内部类必须继承其他类或实现接口
2、可以定义普通内部类、抽象内部类或内部接口,并且这些内部类或内部接口都可以被其他内部类继承或实现,且可以以匿名内部类的方式去继承和实现。
源代码如下,不全面,给你一个方法,其他自己测试吧。
- import org.junit.Test;
- public class Ohter {
- @Test
- public void test(){
- new InnerDemo(){//匿名内部类继承InnerDemo
- void show(){
- System.out.println("匿名继承外部其他类InnerDemo复写的show方法");
- }
- }.show();
- new Inner(){//匿名内部类继承Inner
- void show(){
- System.out.println("匿名继承内部类Inner复写的show方法");
- }
- }.show();
- new Interface() {
- @Override
- public void show() {
- System.out.println("匿名内部类实现内部接口");
- }
- }.show();
- }
- class Inner{//内部类Inner
- void show(){
- System.out.println("内部类Inner的show方法");
- }
- }
- interface Interface{//内部接口
- void show();//未实现的方法
- }
- }
- class InnerDemo{//外部其他类
- void show(){
- System.out.println("外部其他类InnerDemo的show方法");
- }
- }
复制代码 为什么这么写的问题请看毕老师的视频,面向对象第九。
哎!付哥这是对我羡慕嫉妒恨呀,所以给加了这么多金币 ↓ ↓
|