java内部类

java内部类:1一个类定义在一个类的内部。2一个类定义在一个方法的内部。

实现方式:1成员内部类、2局部内部类、3匿名内部类、4静态内部类

(1)成员内部类(一个A类定义在一个B类的内部)



Fruite叫做外部类,Apple叫做内部类,内部类可以无条件的访问外部类的所有成员属性和成员方法。包括private成员和静态成员。、注意:当内部类和外部类出现同名方法和变量时,会发生隐藏现象。(默认情况下访问的是内部类的成员)如果要访问外部类的同名成员,需要以下面的形式进行访问。


外部类访问内部类变量,必须要创建一个内部类对象,通过对象引用来访问内部类成员。


成员内部类是衣服于外部类而存在的。所以要创建一个内部类需要首先创建一个外部类对象。


内部类可以拥有private访问权限、protected访问权限、public访问权限及包访问权限。比如上面的例子,如果成员内部类Inner用private修饰,则只能在外部类的内部访问,如果用public修饰,则任何地方都能访问;如果用protected修饰,则只能在同一个包下或者继承外部类的情况下访问;如果是默认访问权限,则只能在同一个包下访问。这一点和外部类有一点不一样,外部类只能被public和包访问两种权限修饰。我个人是这么理解的,由于成员内部类看起来像是外部类的一个成员,所以可以像类的成员一样拥有多种权限修饰。

(2)局部内部类(定义在一个方法或者一个作用域里面的类)


注:局部内部类的变量不能使用 public protected private static 修饰。

(3)匿名内部类(多用于事件的监听,使用较多)


注:匿名内部类也是不能有访问修饰符和static修饰符的

(4)静态内部类(定义在一个类内部的static 类)

静态内部类不依赖于外部类,静态内部类不能使用外部的非静态变量。


内部类使用场景:1有事件监听的情况。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Java 内部类 分四种:成员内部类、局部内部类、静态内部类和匿名内部类。 1、成员内部类: 即作为外部类的一个成...
    ikaroskun阅读 1,269评论 0 13
  • 说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有...
    Java架构师Carl阅读 454评论 0 3
  • 问:Java 常见的内部类有哪几种,简单说说其特征? 答:静态内部类、成员内部类、方法内部类(局部内部类)、匿名内...
    Little丶Jerry阅读 2,035评论 0 1
  • “我上次去了无锡灵山大佛,还在无锡吃了排骨……”工作以后有一次和大学同学一起吃饭,他一直在给我讲着之前一年去江苏旅...
    曹焱鑫阅读 1,115评论 0 1
  • 清除无用资源(无用资源还存在) release { minifyEnabled true // 开启混淆 shri...
    LisperMiller阅读 141评论 0 0