public class OuterClass { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public void message() { name="holmes"; age=21; System.out.println("OuterClass:"+getName()+":"+getAge()); } public InnerClass getInnerClass() { return new InnerClass(); } public class InnerClass{ public InnerClass(){ name = "moriarty"; age = 23; } public void innerMessage(){ System.out.println("InnerClass:"+getName() +":" + getAge()); System.out.println("1.内部类可以获取外部类的成员变量"); System.out.println("2.内部类可以获取外部类的方法"); message(); System.out.println("3.证明内部类拥有获取指向外部类的引用的能力"); } public OuterClass getOuterClass() { return OuterClass.this; } } public static void main(String[] args) { OuterClass outerClass = new OuterClass(); System.out.println("证明内部类的创建依赖外部类"); System.out.println(); OuterClass.InnerClass innerClass = outerClass.new InnerClass(); innerClass.innerMessage(); System.out.println(); System.out.println("模拟内部类指向外部类的引用"); innerClass.getOuterClass().message(); System.out.println(); System.out.println("模拟外部类访问内部类"); outerClass.getInnerClass().innerMessage(); } }
一般内部类
猜你喜欢
转载自blog.csdn.net/weixin_36552034/article/details/80375852
今日推荐
周排行