在java中,一个类除了可以定义成员变量,成员方法,还可以定义类,这样的类称为成员内部类。
创建内部类的对象语法格式是
外部类名 外部类对象=new 外部类名();
外部类名.内部类名 内部类对象=外部类对象.new 内部类名();
示例代码如下
class Outer
{
int m=0;
void test1() {
System.out.println("外部类成员方法test1()");
}
class Inner{
int n=1;
void show1() {
System.out.println("外部类成员变量m="+m);
test1();
}
void show2() {
System.out.println("内部成员方法show2()");
}
}
void test2() {
Inner inner=new Inner();
System.out.println("内部类成员变量n="+inner.n);
inner.show2();
}
}
public class Neibu {
public static void main(String[] args) {
// 内部类
Outer outer=new Outer();
Outer.Inner inner=outer.new Inner();
inner.show1();
outer.test2();
}
}
在上面代码中,在Outer中创建了Inner的类,在创建内部类之后,需要在外部类中写方法实例化内部类,否则容易报错。
class Inner{
int n=1;
void show1() {
System.out.println("外部类成员变量m="+m);
test1();
}
void show2() {
System.out.println("内部成员方法show2()");
}
}
这段代码是内部类的代码
Outer outer=new Outer();
Outer.Inner inner=outer.new Inner();
inner.show1();
outer.test2();
这段代码是如何创建内部类的对象