内部类-Java基础

  1. 就是类的内部生命类,实现了更好的封装。普通类不能用private或protected,但是内部类可以。内部类为private时,只有外部类可以访问内部类,很好的隐藏内部类。
  2. 内部类可以继承或实现其他类和接口,不影响外部类。
  3. 内部类可访问外部类方法和字段,包括private修饰的。外部类不能直接访问内部类的成员。
  4. 内部类和外部类编译会生成两个独立的class文件。
  5. 内部类有四种访问权限,public、protect、默认、private。
  6. 内部类的类名只能在定义他的类或程序中或在表达式内部使用。
  7. 内部类可以使用它所在类的静态成员变量和实例成员变量。
  8. 内部类可以作为其他类的成员,而且可以访问所在类的成员。
  9. 内部类有成员内部类、局部内部类、匿名内部类、静态内部类;

1)成员内部类

外部类的成员,成员内部类无法声明静态成员,static final字段例外,是初始化加载的。成员内部类持有外部类对象的引用(外部类名.this.),可以直接访问外部成员。

2)局部内部类

定义在外部类的方法中,类似局部变量,在方法外访问不到,但其实例可以从方法中返回。可以访问所在方法中声明为final的局部变量、方法参数等。可以使用的修饰符有abstract、final。不能有访问控制符,也就是public 、private这种不能有。且不能用static修饰。

3)匿名内部类

没有类名的局部内部类。1)不能有构造器;2)必须继承或实现一个接口,指定给new类型为匿名类的超类型。不能显示extends、implements。也不能有任何修饰符。3)不能声明静态成员。

4)静态内部类

Public static A,即需要static修饰符,不持有外部类当前对象的引用,无法访问外部类的非静态成员,不依赖于外部类。

扫码关注一起随时随地学习!!!就在洋葱攻城狮,更多精彩,等你来!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洋葱ycy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值