内部类,静态内部类,成员内部类,匿名内部类的使用场景

局部内部类(只能在函数或者方法内或者该作用域内。局部内部类就像方法里面的局部变量一样,
是不能有public、protected、private及static修饰符的)


对于成员内部类的使用场景最大的优点:内部类可以独立的继承一个接口的实现,所以
无论外部类是否已经继承一个接口的实现,对内部类偶读没有影响,内部类使得类的
多继承的解决方案变得完整,
当外部类和内部类有属性名或者函数名相同的时候,会发生隐藏现象,默认情况下访问的是成员内部类的属性。
如果要访问尾部类的同名成员,需要访问形式:外部类.this.属性或者方法

静态内部类只能调用外部类的静态资源,因为外部类的非静态资源需要创建外部类实例才能调用

创建静态内部类对象的一般形式为:  外部类类名.内部类类名 xxx = new 外部类类名.内部类类名()

创建成员内部类对象的一般形式为:  外部类类名.内部类类名 xxx = 外部类对象名.new 内部类类名()

匿名内部类:一般用于接口的回调函数在编写事件监听的代码时匿名内部类不但方便,而且使代码更加容易维护。
匿名内部类是唯一一种没有构造器的类。正因为其没有构造器,所以匿名内部类的使用范围非常有限,
大部分匿名内部类用于接口回调。匿名内部类在编译的时候由系统自动起名为Outer$1.class。
一般来说,匿名内部类用于集成其他类或者实现接口,并不需要增加额外的方法,只是对集成方法的实现或是重写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值