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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

class Outer
{
        int num = 3;
        class Inner
        {
                int num = 4;
                void show()
                {
                        int num = 5;
                        System.out.println(num);
                        System.out.println(this.num);
                        System.out.println(Outer.this.num);
                }
        }
        void method()
        {
                new Inner().show();//这里为什么不需要建立对象再调用,为什么可以直接调用,谢谢大神解释一下
        }
}
class InnerClassDemo
{
        public static void main(String[] args)
        {
                new Outer().method();
        }
}

7 个回复

倒序浏览
麻烦帮忙看下注释那地方为什么能直接调用,不需要建立对象之后再调用吗?已编译过两种都行,就想知道原因,谢谢
回复 使用道具 举报
去学习学习匿名对象
回复 使用道具 举报
你已经创建了对象
回复 使用道具 举报
943480861 发表于 2016-4-25 19:24
你已经创建了对象

恩恩,是的,谢谢。我格式弄混了,看成外部其他类了
回复 使用道具 举报
阳光多灿烂 发表于 2016-4-25 17:17
去学习学习匿名对象

好的,谢谢
回复 使用道具 举报
new Inner()不就创建对象了吗。只不过没写对象名而已。
回复 使用道具 举报
精彩 中级黑马 2016-4-25 22:06:00
8#
明白 了  谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马