当前位置:  技术问答>java相关

求解D

    来源: 互联网  发布时间:2015-02-15

    本文导语:  55. class Outer{    class static Inner    {        } } How will you create an instance of static Inner Class? Select 2 Inner a= new Inner(); Outer o= new Outer();Outer.Inner a= new o.Inner(); Outer.Inner a= new Outer.new Inner(); Outer.Inner a=...

55.
class Outer{
   class static Inner
   {
   
   }
}
How will you create an instance of static Inner Class? Select 2

Inner a= new Inner();
Outer o= new Outer();Outer.Inner a= new o.Inner();
Outer.Inner a= new Outer.new Inner();
Outer.Inner a= new Outer.Inner();

|
Inner a= new Inner();
Outer.Inner a= new Outer.new Inner();
是对的

其中:
Inner a= new Inner();  用于在Outer类之内实例化Inner
Outer.Inner a= new Outer.new Inner(); 用于在Outer类之外实例化Inner

|
static 内部类应该是自动成为顶级类,可以Inner a= new Inner();
直接建立

|
我的正确答案

首先,题目有错:
第二行class static Inner 错了,没有这种写法的。
应该改为 static class Inner 

其次,答案只有一个
Outer.Inner a= new Outer.Inner();(这一项只对static的内部类正确)

如果
1.把选项第三个Outer.Inner a= new Outer.new Inner();
改为 Outer.Inner a= (new Outer).new Inner();
2.或者把选项第二个
Outer o= new Outer();Outer.Inner a= new o.Inner();
改为Outer o= new Outer();Outer.Inner a= o.new Inner();
那么
这两个也对(这两个选项对无论是否static的内部类都是对的)

|
 对static的内部类正确的只有一个:
Outer.Iner o=new Outer().new Inner()
在java2复习重点及模拟试题115页最上边。
所以答案是C.

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3