什么是内部类?内部类的作用

内部类指在类的内部再定义另一个类。

内部类的作用:
1)实现多重继承,因为java 中类的继承只能单继承,使用内部类可达到多重继承;
2)内部类可以很好的实现隐藏,一般非内部类,不允许有private 或protected权限的,但内部类可以;
3)减少了类文件编译后产生的字节码文件大小;

内部类在编译完后也会产生.class 文件,但文件名称是:外部类名称$内部类名称.class。分为以下几种:
1)成员内部类,作为外部类的一个成员存在,与外部类的属性、方法并列,成员内部类持有外部类的引用,成员内部类不能定义static 变量和方法。应用场合:每一个外部类都需要一个内部类实例,内部类离不开外部类存在。

2)静态内部类,内部类以static 声明,其他类可通过外部类.内部类来访问。特点:不会持有外部类的引用,可以访问外部类的静态变量,若要访问成员变量须通过外部类的实例访问。应用场合:内部类不需要外部类的实例,仅为外部类提供或逻辑上属于外部类,逻辑上可单独存在。设计的意义:加强了类的封装性(静态内部类是外部类的子行为或子属性,两者保持着一定关系),提高了代码的可读性(相关联的代码放在一起)。

3)匿名内部类,在整个操作中只使用一次,没有名字,使用new 创建,没有具体位置。

4)局部内部类,在方法内或是代码块中定义类

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值