1.内部类是在类的内部定义的类
2.内部类分为成员内部类,局部内部类,匿名内部类。
3.内部类中可以直接调用其所在类的私有变量以及方法,但是外部类不可以调用内部类的成员。
4.内部类的实例一定要绑定在外部类的实例上。
5.内部类的对象实例化操作必须在外部类或外部类的非静态方法里。
6.可以通过在外部类里返回内部类的引用来实例化内部类。
public class Main{
innerclass inner = new innerclass();//内部类的实例化操作必须必须在外部类或外部类的非静态方法中实现
private int b = 2;
public Main(){
System.out.println("调用了Main的构造方法");
}
class innerclass{
int a = 1;
public int add() //内部类的构造方法,调用了外部类的私有成员变量
{
return b+1;
}
innerclass(){
System.out.println("调用了innerclass的构造方法");
}
}
public static void main(String[] args)
{
Main main= new Main();
Main.innerclass inner1 = main.new innerclass(); //实例化内部类的方法,必须绑定在外部类的实例上
System.out.println(inner1.add());
}
}
//结果为:
<pre name="code" class="java">调用了innerclass的构造方法
调用了Main的构造方法
调用了innerclass的构造方法
3