首页 > 编程语言 > 详细

Java内部类

时间:2020-04-22 14:15:29      阅读:47      评论:0      收藏:0      [点我收藏+]

Java类中不仅可以定义方法,还可以定义类,这样定义类在类内部的类就被成为内部类,根据定义方式不同,内部类可分为四种:

  • 成员内部类
  • 局部内部类
  • 静态内部类
  • 匿名内部类

 

静态内部类:

  • 静态内部类可以访问外部所有的静态变量和方法,即使是private的也一样
  • 静态内部类和一般类一致,可以定义静态变量、方法、构造方法等
  • 其他类使用静态内部类,需要如下方式“外部类.静态内部类”,Out.Inner inner = new Out,Inner();
  • Java集合类HashMap内部就有一个静态内部类Entry,Entry是HashMap存放的元素的抽象,HashMap内部维护Entry数组用来存放元素,但是Entry对使用者是透明的,像这种和外部类关系密切的,且不依赖外部类实例的,都可以使用静态内部类

成员内部类:

  • 定义在类内部的非静态类,就是成员内部类
  • 成员内部类不能定义静态方法和变量,因为类初始化的时候,先初始化静态成员,如果允许成员内部类定义静态变量,那么成员内部类的静态变量初始化顺序是有歧义的。

局部内部类:

  • 定义在方法中的类就是局部类,如果一个类中只有某个方法中使用,可以考虑局部内部类

匿名内部类:

  • 必须要继承一个父类或者接口,当然也仅能只继承一个父类或者实现一个接口。同时它是没有class关键字,匿名内部类是直接使用new来生成一个对象的引用

 

Java内部类

原文:https://www.cnblogs.com/codingLiu/p/12751462.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!