求助:一道华为面试题(关于类的初始化)

feishare 2009-06-26 04:26:05
1. public class Outer{

  2. public void someOuterMethod() {

  3. // Line 3

  4. }

  5. public class Inner{}

  6. public static void main( String[]argv ) {

  7. Outer o = new Outer();

  8. // Line 8

  9. }

  10. }

  Which instantiates an instance of Inner?

  A. new Inner(); // At line 3

  B. new Inner(); // At line 8

  C. new o.Inner(); // At line 8

  D. new Outer.Inner(); // At line 8//new Outer().new Inner()
...全文
80 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jxst051665 2009-06-26
  • 打赏
  • 举报
回复
楼主又被那个 陈年老卷 给骗了。这不就是市面上唯一流传的所谓华为面试题么……
xnjnmn 2009-06-26
  • 打赏
  • 举报
回复

解释有个写反了

A new Inner(); // At line 3
在外部类的内部可以直接使用inner s=new inner();(因为外部类知道inner是哪个类,所以可以生成对象。)
D new Outer.Inner(); At line 3

作为外部类的一个成员存在,与外部类的属性、方法并列。

lulu0126 2009-06-26
  • 打赏
  • 举报
回复


public class Outer{

public void someOuterMethod() {



// Line 3

new Inner();
}

public static void main( String[]args) {

Outer o = new Outer();

// Line 8

o.new Inner();
}

public class Inner {}
}





两处都可以添加的!

只是注意line8和line3 一个是静态 一个不是静态就好了!


个人意见!

xnjnmn 2009-06-26
  • 打赏
  • 举报
回复

a d

A new Inner(); // At line 3

作为外部类的一个成员存在,与外部类的属性、方法并列。
内部类和外部类的实例变量可以共存。
在内部类中访问实例变量:this.属性
在内部类访问外部类的实例变量:外部类名.this.属性。
在外部类的外部访问内部类,使用out.inner.

成员内部类的特点:
1.内部类作为外部类的成员,可以访问外部类的私有成员或属性。(即使将外部类声明为PRIVATE,但是对于处于其内部的内部类还是可见的。)
2.用内部类定义在外部类中不可访问的属性。这样就在外部类中实现了比外部类的private还要小的访问权限。
注意:内部类是一个编译时的概念,一旦编译成功,就会成为完全不同的两类。
对于一个名为outer的外部类和其内部定义的名为inner的内部类。编译完成后出现outer.class和outer$inner.class两类。
3.成员内部类不能有静态属性

建立内部类对象时应注意:
D new Outer.Inner(); At line 3

在外部类的内部可以直接使用inner s=new inner();(
因为外部类知道inner是哪个类,所以可以生成对象。)
D new Outer().new Inner() At line 8
而在外部类的外部,要生成(new)一个内部类对象,需要首先建立一个外部类对象(外部类可用),然后在生成一个内部类对象。
Outer o=new Outer();
Outer.Inner in=o.new.Inner()。


云上飞翔 2009-06-26
  • 打赏
  • 举报
回复
答:这哪是华为的。这是SUN JAVA 认证的题目。
line3处可填:new Inner();
line 8处或填:new Outer().new Inner()

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧