定义一个内部类
class Outer{ //外部类 private String msg = "cirry"; //私有成员属性 public void fun(){ // 普通方法 Inner inner = new Inner(); //实例化内部类对象 inner.print();
} class Inner{ // 内部类 public void print(){ System.out.println(Outer.this.msg); //outer类中的属性 } }}
public class InnerClass{5 collapsed lines
public static void main(String args []){ Outer outer = new Outer(); //实例外部类对象 outer.fun(); // 调用外部类中的方法 }}将以上程序分为两个类:
class Outer{ //外部类 private String msg = "cirry"; //私有成员属性 public void fun(){ // 普通方法
//思考五:需要将我们的对象Outer传递到Inner类当中 Inner inner = new Inner(this); //实例化内部类对象 inner.print(); } // 思考一:msg属性如果要被外部访问需要getter方法 public String getMsg() { return this.msg; }}
class Inner{ // 内部类19 collapsed lines
//思考三:Inner这个类对象实例化的时候需要Outer类的引用; private Outer out;
//思考四:需要通过Inner类的构造方法获取Outer类对象 public Inner(Outer out){ this.out = out; } public void print(){ //思考二:如果需要调用外部类中的getter方法,那么一定需要outer类对象 System.out.println(this.out.getMsg()); //outer类中的属性 }}
public class InnerClass{ public static void main(String args []){ Outer outer = new Outer(); //实例外部类对象 outer.fun(); // 调用外部类中的方法 }}内部类实例化对象的格式如下:
//外部类.内部类 内部类对象 = new 外部类().new 内部类();Outer.Inner in = new Outer().new Inner();