A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

如题:
       学完内部类之后自己琢磨的一个关于内部类与外部类方法与成员变量的相互调用,哪位大神帮忙看看是否合情合理


class Outer {
        private String out = "外部私有成员变量";
        public void show (){
                System.out.println("这是外部类方法");
        }
        class Inner {
                public void funcition(){
                        System.out.println("out="+out);
                        Outer o = new Outer();
                        o.show();
                }
                public void innerShow(){
                        System.out.println("这是内部类方法");
                }
        }
        public void funcition2(){
        Inner in = new Inner();
        in.innerShow();
        }
}
class Test4 {
        public static void main(String[] args)
        {
                Outer ot = new Outer();
                ot.funcition2();
                System.out.println("=====================");
                Outer.Inner oi = new Outer().new Inner();
                oi.funcition();
        }
}

4 个回复

倒序浏览
没问题。内部类中的function()  方法可以这样:
  1. public void funcition(){
  2.                         System.out.println("out="+out);                       
  3.                         show();
  4.                 }
复制代码


不需要再创建外部类的对象,因为内部类持有外部类的对象,相当于 Outer.this.show()
回复 使用道具 举报
我也在找······
回复 使用道具 举报
不错,学习了,哈哈
回复 使用道具 举报
内部类调用外部类方法的时候,内部类不要创建对象???
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马