5-4-java内部类

文章目录
  1. 1. java内部类
    1. 1.1. 分类
      1. 1.1.1. 1.静态内部类(hashmap.entry对使用者透明)
      2. 1.1.2. 2.成员内部类
      3. 1.1.3. 3.局部内部类
      4. 1.1.4. 4.匿名内部类

java内部类

分类

1.静态内部类(hashmap.entry对使用者透明)

1
2
3
4
5
6
7
8
public class Out {
private static int a;
private int b;
public static class Inner {
public void print() {
System.out.println(a);
}
} }
  1. 静态内部类可以访问外部类所有的静态变量和方法,即使是 private 的也一样。

  2. 静态内部类和一般类一致,可以定义静态变量、方法,构造方法等。

  3. 其它类使用静态内部类需要使用“外部类.静态内部类”方式,如下所示:Out.Inner inner =

new Out.Inner();inner.print();

  1. Java集合类HashMap内部就有一个静态内部类Entry。Entry是HashMap存放元素的抽象,HashMap 内部维护 Entry 数组用了存放元素,但是 Entry 对使用者是透明的。像这种和外部类关系密切的,且不依赖外部类实例的,都可以使用静态内部类。

2.成员内部类

3.局部内部类

4.匿名内部类