内部类的一些知识点

深入理解Java内部类

1:内部类拥有外围类所有元素的访问权

2:通过外围类名+“.this”可以访问外围类的方法

3:使用“.new”    可以在其他类中new一个内部类对象,使用方法为:外围类对象.new 内部类();

如A为外部类,B为内部类,A中有个简单工厂inner()可以获得B类对象实例

A a = new A();

a.inner() = a.new B();

4:内部类是可以在方法和作用域内的

5:匿名内部类  :有class A ,class B   

在B中写一个方法public A getA(){   return new A(){

private int i = 1;

};}

这样即创建了一个继承自A的匿名内部类,此类没有名字,被自动向上转型为A类型,

如果希望在匿名内部类中使用一个外部变量则要求此变量是final修饰的,使用匿名内部类来实现工厂方法是一件很美妙的事!

6:嵌套类:static修饰的内部类,此时这个内部类作为外部类的静态变量了,可以直接使用.来访问,但这样修饰了以后就不能访问内部类的属性了

7:为什么需要内部类?(编程思想书中原话)内部类最吸引人的原因是:每个内部类都能独立的继承自一个(接口)的实现,所以无论外围类是否已经继承了某个(接口)实现,对内部类都没有影响。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值