有关内部类

来源:互联网 发布:苹果 流光快门软件 编辑:程序博客网 时间:2024/06/10 20:39

今天复习了一下内部类。


所谓的内部类呢,顾名思义,就是放在另一个类里边的类。成员内部类可以分成两种:实例内部类静态内部类

无论是哪一种内部类,都必须保证 内部类和外部类不得重名

下面来先讲一下实例内部类,先来贴段代码

package Dawn;public class A {public A(){}private int a = 5;private int b = 3;public class B{private int c = a;private int d = b;public int add(int m,int n){return m+n; }}private B bb = new B();}
在这个代码中,类B就是类A的内部类,在类A中可以直接使用类B。

在创建实例内部类的实例时,外部类的实例必须是存在的,即A.B test = new A().new B();

如果写成A.B test = new A.B();会导致编译错误。

②在内部类中,可以直接访问外部类的所有成员。而且当多重嵌套的时候,内部类也可以访问所有外部类的成员。

但是在外部类中,如果想访问内部类的成员,必须先实例化一个内部类的对象,通过内部类的实例访问内部类的成员。

③在实例内部类中,不允许定义static成员。

④倘若在类B和类A中都出现了成员变量a,则在类B中,this.a表示类B中的成员,A.this.a表示类A中的成员。





0 0
原创粉丝点击