计算机二级

以下程序的调试结果为?public class Outer{public String name = "Outer";public static void main(String argv[]){Inner i = new Inner();i.showName();}private class Inner{String name =new String("Inner");void showName(){System.out.println(name);}}}A.输出结果 OuterB.输出结果 Inner

题目

以下程序的调试结果为?

public class Outer{

public String name = "Outer";

public static void main(String argv[]){

Inner i = new Inner();

i.showName();

}

private class Inner{

String name =new String("Inner");

void showName(){

System.out.println(name);

}

}

}

A.输出结果 Outer

B.输出结果 Inner

C.编译错误,因Inner类定义为私有访问

D.在创建Inner类实例的行出现编译错误

参考答案和解析
正确答案:D
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列程序输出结果为( )。 public class test { public static void main (String args[]) { int a=0; outer:for(int i=0;i<2;i + +) { for(int j=0;j<2;j+ +) { if(j>i) { continue outer; } a+ +; } } System.out.println(a); } }

A.0

B.2

C.3

D.4


正确答案:C

第2题:

public class Pet{     private String name;     public Pet(){  System.out.print(1);    }  public Pet(String name){        System.out.print(2);    } }  public class Dog extends Pet{     public Dog(String name){        System.out.print(3);    } }  执行new Dog(“棕熊”);后程序输出是哪项?() 

  • A、 23
  • B、 13
  • C、 123
  • D、 321

正确答案:B

第3题:

请在每条横线处填写一个语句,使程序的功能完整,且输出结果为91 1。

注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。

源程序文件代码清单如下:

public class Outer

{

public static void main (String args[]

{

Outer i = new Outer();

i,taskInner();

}

public class Inner

{

private int size;

public void doSomething(int size)

{

_____________//访问局部变量

this. size++; //访问内部类的成员变量

_____________//访问外部类的成员变量

System.out.println(size+" "+this.size+" "+Outer.this.size);

}

}

public void taskInner()

{

___________

k.doSomething(8);

}

private static int size;

}


正确答案:size++; Outer.this.size++: Inner k=new Inner();
size++; Outer.this.size++: Inner k=new Inner(); 解析:本题主要考查内部类的概念,super,this关键字的用法。解答本题的关键是熟练掌握super, this关键字的用法。在本题中size++;语句是访问局部变量size,Outer.this.size++;语句的功能是访问外部类的成员变量size,InnerK=new Inner();语句的功能是生成内部类Inner的对象K。

第4题:

public class Employee{       private String name;  public Employee(String name){           this.name = name;      }  public String getName(){         return name;      } }  public class Manager extends Employee{       public Manager(String name){          System.out.println(getName());      } }  执行语句new Manager(“smith”)后程序的输出是哪项?() 

  • A、 smith
  • B、 null
  • C、 编译错误
  • D、 name

正确答案:C

第5题:

public class Pet{     private String name;     public Pet(String name){       this.name = name;    }  public void speak(){     System.out.print(name); }  }  public class Dog extends Pet{     public Dog(String name){       super(name);    }  public void speak(){    super.speak();  System.out.print(“ Dog ”);    } }  执行代码   Pet pet = new Dog(“京巴”);  pet.speak();  后输出的内容是哪项?() 

  • A、 京巴
  • B、 京巴 Dog
  • C、 null
  • D、 Dog京巴

正确答案:B

第6题:

为使下列代码正常运行,应该在下画线处填入的选项是( )。 abstract class person{ public Person(String n){ name=n: } Public String getDescription; public String getName{ return name; } private string name; }

A.static

B.private

C.abstract

D.final


正确答案:C
C。【解析】抽象类中的抽象方法可以只声明,定义延迟到其子类。

第7题:

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

正确答案:A

第8题:

下列程序输出结果为( )。public class test { public static void main(String args[]) { int a=0; outer: for(int i=0;i<2;i++) { for(int j=0;j<2;j++) { if(j>i) { continue outer; } a++; } } System.out.println(a); }}

A.0

B.2

C.3

D.4


正确答案:C

第9题:

Which declaration prevents creating a subclass of an outer class?()

  • A、 Static class FooBar{}
  • B、 Private class FooBar{}
  • C、 Abstract public class FooBar{}
  • D、 Final public class FooBar{}
  • E、 Final abstract class FooBar{}

正确答案:D

第10题:

package foo; public class Outer (  public static class Inner (  )  )   Which statement is true? () 

  • A、 An instance of the Inner class can be constructed with “new Outer.Inner ()”
  • B、 An instance of the inner class cannot be constructed outside of package foo.
  • C、 An instance of the inner class can only be constructed from within the outer class.
  • D、 From within the package bar, an instance of the inner class can be constructed with “new inner()”

正确答案:A

更多相关问题