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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© AnElse 中级黑马   /  2015-1-16 22:08  /  1836 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Demo
{   
    public void func()
    {
        //位置1;
        new  Inner();
        
    }
    class Inner{}
    public static void main(String[] args)
    {
        Demo d=new Demo();
        // 位置2
        new Inner();//不可以,因为主函数是静态的。如果访问inner需要被static修饰。
    }
}

A.在位置1写 new Inner();//ok
B.在位置2写 new Inner();        
C.在位置2写 new d.Inner();//错误,格式错误。    new new Demo().Inner();   
D.在位置2写 new Demo.Inner();//错误,因为inner不是静态的。

问题:关于C答案,谁可以详细的回答下,谢谢

10 个回复

倒序浏览
外部类().内部类(),
回复 使用道具 举报
求详细回答,谢谢
回复 使用道具 举报
请帮忙!!
回复 使用道具 举报
请帮忙!
回复 使用道具 举报
还不会这
回复 使用道具 举报
不给吃鸭梨 来自手机 中级黑马 2015-1-18 10:58:32
7#
new d.Inner();

你不是都写在上面了吗,格式是错误的,new new……可没有这样的写法,d是一个demo类的引用,这个引用是直接调用不到内部类的,必须先创建内部类的对象,在使用,不要太牛角尖了。:D
回复 使用道具 举报
来学习下,让自己以后不在这里犯错
回复 使用道具 举报
AnElse 中级黑马 2015-1-18 13:12:37
9#
不给吃鸭梨 发表于 2015-1-18 10:58
new d.Inner();

你不是都写在上面了吗,格式是错误的,new new……可没有这样的写法,d是一个demo类的引 ...

恩恩,谢谢
回复 使用道具 举报
你什么时候见过对象前面两个new的
回复 使用道具 举报
选项C语法是不是这样的:d.Inner inner=d.new Inner();  详解:成员内部类
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马