内部类定义:
如果在一个类中再定义一个类,就将在类中再定义的那个类称为内部类,内部类可分为为成员内部类,局部内部类,以及匿名内部类.
其中,内部类可以直接访问其所在外部类的私有成员变量,当然,公开变量更加可以访问了.还可以直接访问其外部类的成员方法,
内部类的实例化一定要绑定在外部类的实例上,如果在外部类中初始化一个内部类对象,那么内部类对象就会绑定在外部类对象上,
在外部类中实例化内部类和其它类的初始化方式相同,都是使用new关键字.
对于内部类的详细使用方法和实例化方法,以下代码可以给你参考,嗯,是我的一个测试题
- //
- class TestA {
- public static void main(String[] args) {
- OuterClass out = new OuterClass();
- // 内部类的实例一定要绑定在外部类的实例上
- OuterClass.InnerClass i = out.new InnerClass();
- i.func();
- }
- }
- class OuterClass {
- // 外部类的私用成员变量,内部类也可以访问
- private int x = 1;
- private void outMethod() {
- System.out.println("这是外部类的方法");
- }
- class InnerClass {
- // 内部类的私有成员变量,外部类不可以访问
- private int x = 2;
- void func() {
- int x = 3;
- // 内部类访问外部类的成员变量
- System.out.println("OuterClass的成员变量x为:" + OuterClass.this.x + ". InnerClass的成员变量x为:" + this.x + ". func方法内部的局部变量x为:" + x);
- // 内部类访问外部类的私有方法
- outMethod();
- }
- }
- }
复制代码 其中输出结果为:
OuterClass的成员变量x为:1. InnerClass的成员变量x为:2. func方法内部的局部变量x为:3
这是外部类的方法
|