对于下列代码: 1) class Pers

题目

对于下列代码: 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} } 第10行语句将调用哪行语句?()

  • A、 line 2
  • B、 line 3
  • C、 line 6
  • D、 line 7
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

给出下列代码,可放在类A的横线位置作为A合理的内部类的是( )。 class A { protected int i; A(int i) { this.i = i; } ______ }

A.class B { }

B.class B extends A { }

C.class B implements A { }

D.class A { }


正确答案:A
解析:本题主要考查在定义内部类时,内外部类不能同名,不存在继承关系,可以把内部类当成类的成员。选项B存在继承关系,因此是错误的;选项D中内外部类同名,所以也是错误的。选项C中,implements表示一个类使用某个接口,而A是一个类,不是接口,因此选项C也是错误的。

第2题:

阅读下列代码段,选出该代码段的正确文件名( )。 class A { void method1() { System.out.println("method1 in class A"); } } public class B { void method2() { System.out.println("method2 in class B"); } public static void main(String args[]) { System.out.println("main in class B"); } }

A.A.java

B.A.class

C.B.class

D.B.java


正确答案:D
解析:Java源程序文件是以Java为后缀的,Java字节码文件以.class为后缀,而且 Java源文件中只能有一个public类,该类的名字为源文件名,程序段中类B是以public修饰的,因此源程序文件名为Biava。

第3题:

下列代码的执行结果为( )。 public class Test1 { public static void main(String args[]){ hat a=3,b=10; System.out.println((a++)*(--b)); }

A.40

B.36

C.30

D.27


正确答案:D

第4题:

执行下列代码后,输出的结果为( )。 class Base { int x = 30; void setX( ) {x=1O;} } class SubClass extends Base { int x=40; void setX ( ) {x=20;} int getX( ) {return super. x; } } public class Test { public static void main(String[ ] args) { SubClass sub=new SubClass( ); sub. setX( ); System. out. println(sub, getX( ) ); } }

A.10

B.20

C.30

D.40


正确答案:C
解析:本题主要考查有关类的继承方面的知识。Java中,类是分层次的,当子类的成员变量与父类的成员变量名字相同时,子类的成员变量会隐藏父类的成员变量,当子类的成员方法与父类的成员方法名字、参数列表、返回值类型都相同时,子类的方法是父类的方法的重写。这样,在子类的对象调用方法时,是按照子类中方法定义执行,隐藏父类的方法的定义。当子类隐藏了父类的变量,并重写了父类的方法后,又要使用父类变量或父类被重写的方法时,可通过super来实现对父类变量的访问和父类方法的调用。因此,本题中在main ()中调用setX ()时,是调用的SubClass类中的setX ()函数,同时将SubClass类中的i变量值设为20。当main ()函数中调用getX ()函数时,并不是取了SubClass类中的i的值,而是取的Base类中i变量的值,此时i的值为其初始值30。

第5题:

阅读以下说明和C++代码,填入(n)处。

[说明]

以下C++代码使用虚函数实现了同一基类shape派生出来的Class rectangle、Class triangle、Class circle实现了计算矩形、圆形面积的计算。仔细阅读以下代码,将(n)处语句补充完整。

[代码5-1]

include<iostream.h>

define PI 3.14159

class shape {//基类

protected:

(1);

public:

(2);

(3);

};

[代码5-2]

class rectangle: public shape {

public:

rectangle (int x2,int y2,int r2): (4) {};

double area ( ) {return x*y; };

};

class circle: public shape {

public:

circle (int x3,int y3,int r3):(5){};

double area ( ) {return r*r*PI; };

};

[代码5-3]

void main ( )

{

rectangle r (10,20,0);

circle c (0,0,30);

shape (6);

cout<<"长方形面积="<<s1->area ( ) <<endl;

cout<<"圆形面积="<<s2->area ( ) <<endl;

}

[运行结果]

长方形面积=200

圆形面积=2827.43


正确答案:(1)intxyr; (2)shape(int x1int y1int r1): x(x1)y(y1)r(r1){}; (3)double virtual area()=0; (4)shape(x2y2r2) (5)shape(x3y3r3) (6)*s1=&r*s2=&c;
(1)intx,y,r; (2)shape(int x1,int y1,int r1): x(x1),y(y1),r(r1){}; (3)double virtual area()=0; (4)shape(x2,y2,r2) (5)shape(x3,y3,r3) (6)*s1=&r,*s2=&c; 解析:本题C++代码使用虚函数用同一基类shape派生出来的Class rectangle、Class triangle、Class circle实现了计算矩形、圆形面积的计算。各空实现的功能是:(1)x,y存储长与宽,r存储半径;(2)构造函数;(3)面积虚函数,旨在定义不同面积公式;(4)构造函数;(5)构造函数;(6)类变量定义,根据下文用到的变量可推知。

第6题:

阅读下列代码段,选出该代码段的正确文件名( )。 class A { void methodl() { System.out.println("methodl in class A"); } } public class B { void method2() { System.out.println("method2 in class B"); } public static void main(String args[]) { System.out.println("main in class B"); } }

A.A.java

B.A.class

C.B.class

D.B.java


正确答案:D
解析:Java源程序文件是以.java为后缀的,Java字节码文件以.class为后缀,而且 Java源文件中只能有一个public类,该类的名字为源文件名,程序段中类B是以public修饰的,因此源程序文件名为B.java。

第7题:

阅读下列代码 public class Test{ public static void main(String args[]){ System.out.println(89>>1); } } 其运行结果是

A.44

B.45

C.88

D.90


正确答案:A
解析:这段程序代码非常简单,就是在屏幕上输出表达式“89>>1”的结果。“>>”是算数右移运算符。“89>>1”是将89的各二进制位右移1位,移到右端的低位被舍弃,最高位则移入原来高位。Java使用补码来表示二进制数,因此89的二进制补码是01011001,则89>>1=00101100,00101100对应的十进制数为44。除此之外,还有一个简便算法。算数右移一位相当于除2取商。89除以2,商是44。所以89>>1的结果是44。因此,本题的正确答案是A。

第8题:

下列代码的运行结果是( )。 public class Test { public static void main(String args[]) { System.out.println(89>>1); } }

A.44

B.45

C.88

D.90


正确答案:A
解析:89转换为二进制是01011001,再右移一位变为00101100,再换回十进制其值为44。

第9题:

下列哪个选项的java源文件代码片段是不正确的?

A.package testpackage; public class Test{ }

B.import java. io. *; package testpaekage; public class Test { }

C.import java.io.*; class Person { } public class Test { }

D.import java.io.*; import java. awt.*; public class Test{ }


正确答案:B
解析:Java中的package语句必须是源文件中除去说明以外的第一条语句,导入包语句可以有几个,但是必须位于package语句之后,其他类定义之前,一个源文件中可以有几个类,但最多只能有一个是public的,如果有,则源文件的文件名必须和该类的类名相同。

第10题:

在下列源代码文件Test.java中,正确定义类的代码是( )。

A.pblic class test { public int x=0; public test(int x) { this. x=x;} }

B.public class Test { public int x=0; public Test(int x) { this. x=x;} }

C.public class Test extends T1,T2{ public int x = 0; public Test(int x){ this. x = x; } }

D.protected class Test extends T2{ public int x = 0; public Test(int x) { this. x = x; } }


正确答案:B
解析:本题主要考查类声明格式为[修饰符]class类名[extends父类名][implements类实现的接口列表],选项A中源文件名与程序名不相同,Java不支持多重继承所以选项C错误,选项D中类的访问权限不对,应为public。

更多相关问题