日期:2014-05-20  浏览次数:20717 次

如何通过内部类对象调用外部类对象
今天在书上看了这样一句话说是普通的内部类对象隐式的保存了一个引用,指向创建他的外部类对象。但是没有说怎么调用这个引用,求大神指点下这个如何用。比如下面两个类。
public class Test1 {
public static void main(String[] args) {
Outer outer=new Outer();
Outer.Inter inter=outer.new Inter();
//然后我要在这里通inter调用外围类对象的
//引用,继而调用外部类的say()方法。该如何?
}

}

class Outer{
public void say(){
System.out.println("外部类的方法调用");
}
class Inter{
public void say(){
System.out.println("内部类的方法调用");
}
}
}

------解决方案--------------------
直接使用就好了,不要加this

------解决方案--------------------
这已经是两个对象了,无法实现的,除非这样:

public class Test1 {
    public static void main(String[] args) {
        Outer outer=new Outer();
        Outer.Inter inter=outer.new Inter();
        //然后我要在这里通inter调用外围类对象的
        //引用,继而调用外部类的say()方法。该如何?
        inter.outerSay();
    }
 
}
 
class Outer{
    public void say1(){
        System.out.println("外部类的方法调用");
    }
    class Inter{
        public void say2(){
            System.out.println("内部类的方法调用");
        }
        public void outerSay(){
            say1();
        }
    }
}