现有:  class  Wrench2  {      int size;  public static void ma

题目
单选题
现有:  class  Wrench2  {      int size;  public static void main(String  []  args)  {      Wrench2 w=new Wrench2();      w.size=II;  Wrench2 w2=go(w, w.size);     System. out .print (w2. size);      }  static Wrench2 go(Wrench2 wr. int s)  {      S=12;  return wr;     }     } 结果为()
A

 11

B

 12

C

编译失败

D

运行时异常被抛出

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列程序的运行结果是【 】。 include class SomeClass { public: SomeClass(int va

下列程序的运行结果是【 】。

include <iostream. h>

class SomeClass

{

public:

SomeClass(int value) { some_value=value;};

void show_data(void) { cout<<data<<"<<~some_value<<endl; };

static void set_data(int value) {data=value; }

private:

static int data;

int some_value

};

int SomeClass::data

void main(void)

{

SomeClass my_class(1001),your_class(2002);

your_class. set_data(4004);

my_elass. show_data()

}


正确答案:4004 1001
4004 1001 解析:本题考查静态成员变量在不同对象间的共享现象。无论哪个对象修改了其静态变量的值,其他对象再访问该变量时已经发生了变化。

第2题:

下面程序段的输出结果是 class Base { int i; Base() { add(1); } void add(int v) { i+=v; } void print() { System.out.println(i); } } class Extension extends Base { Extension() { add(2); } void add(int v) { i+=v*2; } } public class Test { public static void main(String args[]) { bogo(new Extension()); } static void bogo(Baseb){ b.add(8); b.print(); } }

A.9

B.18

C.20

D.22


正确答案:D
解析:本题考查继承和构造函数的用法。首先要明确对一个类的继承是指在父类的基础上构建了一个子类,子类继承了父类的方法和状态。题目所给程序段创建的是Extension类的实例,在运行时,从main()函数进入程序,所有调用add()方法的过程将始终和Extension类的add()方法动态绑定。初始值:i=0;创建实例new Extension();先调用父类的默认构造函数Base(),并在父类的默认构造函数中执行add(1),i=0+1×2,所以i=2,再调用子类的默认构造函数Extension(),子类的默认构造函数中执行add(2),i=2+2×2,所以i=6;执行add(8);i=6+8×2,因此,最终i=22,正确答案为选项D。

第3题:

有如下程序:includeusing namespace std;class A{public:static int a;void init(){a

有如下程序: #include<iostream> using namespace std; class A{ public: static int a; void init(){a=1;} A(int a=2){init(); a++;} }; int A::a=0; A obj; int main() { cout<<obj.a; return 0; 运行时输出的结果是( )。

A.0

B.1

C.2

D.3


正确答案:B
解析:有如下程序:  #includeiostream>  using namespace std;  class A{  public:  static int a;  void init(){a=1;}  A(int a=2){init(); a++;}  };  int A::a=0;  A obj;  int main()  {  coutobj.a;  return 0;  运行时输出的结果是(  )。 

第4题:

下面的例子中

using System;

class A

{

public static int X;

static A(){

X=B.Y+1;

}

}

class B

{

public static int Y=A.X+1;

static B(){}

static void Main(){

Console.WriteLine("X={0},Y={1}",A.X,B.Y);

}

}

产生的输出结果是什么?


正确答案:
答:x=1,y=2

第5题:

下列程序段中,正确的是______。 ①class MvClass { int var = 100; static int getVar() { return var; } } ②public class MyClass { final int date; void MyClass (int d) { date = d; } } ③public class MyMain { public static void main(String args[]) { System.out.println(Myclass1.date); } } class MyClass1 { int data = 10; } ④class IamAbstract { final int f; double d; abstrct void method(); }

A.②④

B.①③

C.②

D.以上都不对


正确答案:D

第6题:

下面程序编译时发现ma[3]=9错误,其原因是______。 include class FunArray { int*pa;

下面程序编译时发现ma[3]=9错误,其原因是______。

include<iostream.h>

class FunArray

{

int*pa; //指向一个数组空问

int size; //数组元素个数

public:

FunArray(int a[],int thesize):pa(a),size(thesize){}

int Size( ){return size;}

}

};

void main( )

{

int s[]={3,7,2,1,5,4};

FunArray ma(s,sizeof(s)/sizeof(int));

ma[3]=9;

cout<<ma[3]<<endl;

}


正确答案:没有重载[]运算符
没有重载[]运算符 解析:ma不是一般的数组,而是一个新定义的类,尽管该类封装了一个数组,但新类并没有提供[]操作符的具体实现,因此是错误的。

第7题:

请在每条横线处填写一个语句,使程序的功能完整,且输出结果为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。

第8题:

下面程序的输出结果是什么? class C1{ static int j=0; public void method(int a){ j++; } } class Test extends C1{ public int method(){ return j++; } public void result(){ method(j); System.out.println(j+method()); } public static void main(String args[]){ new Te

A.0

B.1

C.2

D.3


正确答案:C

第9题:

interface A{

int x = 0;

}

class B{

int x =1;

}

class C extends B implements A {

public void pX(){

System.out.println(x);

}

public static void main(String[] args) {

new C().pX();

}

}


正确答案:

 

错误。在编译时会发生错误(错误描述不同的JVM 有不同的信息,意思就是未明确的

x 调用,两个x 都匹配(就象在同时import java.util 和java.sql 两个包时直接声明Date 一样)。

对于父类的变量,可以用super.x 来明确,而接口的属性默认隐含为 public static final.所以可

以通过A.x 来明确。

第10题:

1) class Person { 2) public void printValue(int i, int j) {/*…*/ }    3) public void printValue(int i){/*...*/ }    4) } 5) public class Teacher extends Person {    6) public void printValue() {/*...*/ }    7) public void printValue(int i) {/*...*/}    8) public static void main(String args[]){    9) Person t = new Teacher();    10) t.printValue(10);   11) }    12) } Which method will the statement on line 10 call?()    

  • A、 on line 2
  • B、 on line 3
  • C、 on line 6
  • D、 on line 7

正确答案:A,D

更多相关问题