【读书笔记】TiJava——内部类

内部类

•可以在任意作用域内定义内部类
•在类作用域里定义
–引用范围由其访问属性决定
•方法内部类

-引用范围只在方法内部

•任意作用域类

-引用范围只在该作用域内部


类内部类

•内部类对象包含隐式成员指向外部类对象
•用OuterClass.this引用外部类对象
•在外部类非静态方法外创建内部类对象,不能直接new Outer.Inner().必须先创建外部类对象,然后通过外部类对象创建。创建方式如下:
–Outero = new Outer();
–Outer.Inneroi=o.newInner();

类内部类的使用

•外部public接口+内部private实现
•隐藏实现细节
•由于是private实现,在外部类非静态方法外的所有地方,都不能创建内部类对象或使用内部类名,只能由外部类的非静态方法创建内部类对象,并返回接口来使用内部类。

匿名类

•如果在匿名类里面用到了外部类定义的变量,则这个对象必须定义成final
•匿名类没有构造函数,但可以通过实例初始化块来进行匿名类的构造

嵌套类(静态内部类)

•声明为static的内部类
•嵌套类对象没有外部类对象的this引用
•不需要通过外部类对象创建嵌套类对象
•嵌套类内不能访问外部类的非静态成员
•类似于static方法
•接口中的任何类都自动是public和static的

为什么需要内部类

•可解决“多重继承”问题哦,因为每个内部类都可以继承一个类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值