内部类

Author Avatar
Roojay 6月 16, 2017
  • 在其它设备中阅读本文章
  • 内部类:一个类定义在另一个类的里面。

示例:

class A{
    class B{
    }
}

B这个类被称之为A的内部类。
编译之后生成A.class和A$B.class。
内部类可以随意使用外部类的成员变量。

内部类的使用方法

示例:

class A{
    int i;
    class B{
        int j;
        int funB(){
            int result = i + j;
            System.out.println(result);
            return result;
        }
    }
}

class Test{
    public static void main(String args[]){
        A a = new A();

        A.B b = a.new B();

        a.i = 5;
        b.j = 6;
        b.funB();
    }
}

匿名内部类的使用方法

  • 匿名内部类:没有名字的内部类。

示例:

interface A{
    public void doSth();
}
class B{
    public void fun(A a){
        System.out.println("B类的fun函数");
        a.doSth();
    }
}
public class Test{
    public static void main(String args[]){
        B b = new B();
        b.fun(new A(){
            public void doSth(){
                System.out.println("匿名内部类");
            }
        });
    }
}

The MIT License (MIT)
Copyright (c) 2019, Roojay.

本文链接:https://roojay.com/pages/9bc01b38/