黑马程序员技术交流社区

标题: 内部类怎么调用外部类的私有函数啊 [打印本页]

作者: 刘印12    时间: 2013-3-25 16:16
标题: 内部类怎么调用外部类的私有函数啊
求各位大写帮忙 内部类怎么调用外部累的私有函数??
作者: 胡志超    时间: 2013-3-25 16:43
class Outer{
    private viod method(){
    }
    new Inter(){
        method();
    }
}

作者: xuqangxing    时间: 2013-3-25 16:57
直接调用就行,因为内部类中持有了一个外部类的引用
作者: 123    时间: 2013-3-25 16:58
内部类就是外部类的一个成员,内部类持有一个外部类的引用,所以可以直接调用就可以了。
作者: 我手心里的宝    时间: 2013-3-25 17:23
首先,你这个问题,很特别,直接通过类名.this.变量名调用就可以了,
你得先试试,然后再问
作者: 朱德帅    时间: 2013-3-25 17:23
public class Test2 {

        /**
         * @param args
         */
        public static void main(String[] args) {
                //实例化内部类,调用构造方法,通过构造方法调用外部类的私有run()方法
                new Test2().new in();
        }
        private void run(){
                System.out.println("this is out");
        }
         class in{
                public in() {
                        //通过new外部类.外部类方法名调用
                        new Test2().run();
                       
                }
        }

}
作者: 黑马-陈思源    时间: 2013-3-25 18:50
内部类持有一个外部类的引用,直接调用就OK。
作者: 陆旭东    时间: 2013-3-25 19:48
内部类调用外部类的函数直接调用就可以了。
作者: 罗平    时间: 2013-3-25 20:45
当然是直接引用咯 ,内部类持有内部类的一个引用,但是外部类不能直接使用内部类成员
因为在使用外部类时有可能还没有创建内部类对象。即使创建了,一个外部类对象也可能对应多个内部类对象。
如果一定要在外部类中使用内部类成员,那么需要创建内部类对象,通过对象来访问。
内部类中不能定义静态成员。但是静态内部类中可以定义静态成员。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2