内部类相关注意事项

这里首先写一下内部类的定义和作用
把一个类放在另一个类的内部定义,这个定义在其他类内部的类就被称为内部类(有的地方也叫嵌套类)
内部类的作用:
1.提供了很好的封装性,可以吧内部类隐藏在外部类之内,不允许同一个包中的其他类来刚问该类。例如Cow类内部定义了CowLeg类,CowLeg类只有在Cow类中才有效,离开了Cow类就没有任何意义了。所以不允许其他的类访问内部类

2.内部类可以直接访问外部类的私有成员,因为内部类被当成其外部类的成员。同一类的成员之间可以互相访问,但是外部类不能访问内部类的实现细节,如成员变量。

注意:当非静态内部类的某个方法访问成员变量的时候,系统优先在该方法内使用该变量,如果存在就是用该变量,不过不存在就在该内部类中查找是否存在该名字的成员变量,如果存在就使用,如果不存在就就在该外部类中查找是否存在改名字的变量。如果存在就是用,如果不存在继续在该外部类的父类中查找是否又改名的变量,如果有就访问,没有就编译报错。

还应该注意,内部类可以访问外部类包括private的成员变量或方法,但是子类不能访问父类中的private成员变量或方法,因为父类中的成员变量或方法在子类中是隐藏的!

3.匿名内部类适合于创建那些只需要使用一次的类。

非静态内部类对象和外部类对象的类关系:

非静态内部类必须寄生在外部类对象里,而外部类对象则不一定有非静态内部类寄生于其中。如果静态内部类存在的时候,那么它所寄生的外部类必然存在。但是,外部类对象存在时,外部类对象里不一定寄生了非静态内部类。因此:外部类对象访问非静态内部类成员是,可能非静态普通内部类根本不存在!而非静态内部类对象访问外部类成员时,外部类对象一定存在。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值