内部类 | Ming's 匣子生活
RSS icon Bullet (black)
  • java内部类访问外部类

    Posted on April 15th, 2010 Ming No comments

    这个问题来自于《Thinking In Java》内部类部分的习题。问题大致是要求在内部类中创建一个方法,它可以生成对外部类的引用。

    public class Outer {

    //ofn()是外部类方法
    public void ofn(){
    System.out.println(“Here is Outer’s method!”);
    }

    //内部类
    public class Inner{
    public Outer getOuter(){
    return Outer.this;
    }
    }

    public static void main(String[] args) {
    Outer outerClass = new Outer();

    //实例化一个属于outerClass的内部类
    Outer.Inner innerClass = outerClass.new Inner();

    //获得外部类的引用后,调用方法。
    innerClass.getOuter().ofn();
    }
    }

    很奇怪,”.new”在Eclipse中不自动提示。