黑马程序员技术交流社区

标题: 求帮忙解决一个问题。。 [打印本页]

作者: AnElse    时间: 2015-1-16 22:08
标题: 求帮忙解决一个问题。。
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答案,谁可以详细的回答下,谢谢


作者: I'can'do'it    时间: 2015-1-16 22:25
外部类().内部类(),
作者: AnElse    时间: 2015-1-17 10:20
求详细回答,谢谢
作者: AnElse    时间: 2015-1-17 23:24
请帮忙!!
作者: AnElse    时间: 2015-1-18 10:33
请帮忙!
作者: xiawe_i    时间: 2015-1-18 10:39
还不会这
作者: 不给吃鸭梨    时间: 2015-1-18 10:58
new d.Inner();

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

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

恩恩,谢谢
作者: 446111220    时间: 2015-1-18 13:53
你什么时候见过对象前面两个new的
作者: yk942608890    时间: 2015-1-18 15:35
选项C语法是不是这样的:d.Inner inner=d.new Inner();  详解:成员内部类




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