《Java面向对象编程》练习题(3)

2018-11-22 19:01

3. return语句(D)。

A.不能用来返回对象 C.方法都必须含有

4. main()方法的返回值类型是(C。

B.只可以返回数值 D.一个方法中可以有多个 B.int D.static

A.boolean C.void

5. 编译并运行下面的程序,运行结果是( )。

public class A{

public static void main(String args[]){ A a=new A(); a.method(8); }

void method(int i){

System.out.println(“int: ”+i); }

void method(long i){

System.out.println(“long: ”+i); }

A.程序可以编译运行,输出结果为:“int: 8” B.程序可以编译运行,输出结果为:“long: 8”

C.程序有编译错误,因为两个method()方法必须定义为静态(static)的 D.程序可以编译运行,但是没有输出

6. 能作为类及其成员的修饰符是( )。

A.interface C.protected

7. 下列方法定义中,方法头不正确的是( )。

B.class D.public

B.public static int x(double y){…} D.public int x(){…} B.使用对象的变量时 D.创建对象时

B.abstract private move(){…} D.abstract final class H1{…} B.封装 D.静态

A.public static x(double a){…} C.void x(double d){…}

8. 构造方法在( )时被调用。

A.类定义时

C.调用对象方法时

9. 下列哪个类声明是正确的( )。

A.public abstract class Car{…} C.protected private number; A.抽象 C.继承

10. 下列不属于面向对象程序设计的基本特征的是( )。

11. 请看下面的程序段

class Person{

String name,department; int age;

public Person(String n){name=n;}

public Person(String n,int a){name=n; age=a;} public Person(String n, String d, int a ){

//doing the same as two arguments version if constructer }

下面那个选项可以添加到// doing the same??处( )

A.Person(n,a) C.this(n,a)

12. 请看下面的程序段 class Test{

private int m;

public static void fun(){ //some code }

}

方法fun()如何来访问变量m( )

B.this(Person(n,a)) D.this(name.age)

A.将private int m 改成protected int m B.将private int m 改成public int m C.将private int m 改成static int m A.void A(int x){?} C.A A(int x){?}

14. 请看下面的程序段 public class Test{

long a[]=new long[10];

pubic static void main(String args[]){

System.out.println(a[6]); }

}

哪一个选项是正确的( )。

D.将private int m 改成int m B.public A(int x){?} D.int A(int x){?}

13. 有一个类A,对于其构造函数的声明正确的是( )。

A.不输出任何内容

C.当编译时有错误出现 A.extends C.this

16. 声明为static的方法不能访问( )类成员。

B.输出0

D.当运行时有错误出现 B.final D.finalize B.子类

D.用户自定义类

15. 关键字( )表明一个对象或变量在初始化后不能修改。

A.超类 C.非static

17. 定义类A如下:(重要)

class A{ int a,b,c;

public void B(int x,int y, int z){ a=x;b=y;c=z;} }

下面对方法B的重载哪些是正确的( )。

A.public void A(int x1,int y1, int z1){ a=x1;b=y1;c=z1;} B.public void B(int x1,int y1, int z1){ a=x1;b=y1;c=z1;} C.public void B(int x,int y){ a=x;b=y;c=0;} D.public B(int x,int y, int z){ a=x;b=y;c=z;}

18. 编译运行下面的程序,结果是( )。(重要) public class A{

public static void main(String args[]){

B b=new B();

b.test(); }

void test(){

System.out.print(“A”); }

}

class B extends A{ void test(){

super.test();

System.out.print(“B”); } }

A.产生编译错误

19. 已知类关系如下:

Class Employee{}

Class Manager extends Employee{} Class Director extends Employee{} 则下列语句正确的是:( )。

B.代码可以编译运行,并输出结果:AB

C.代码可以编译运行,但没有输出 D.编译没有错误,但会产生运行时异常

A.Employee e=new Manager(); C.Director d =new Employee ();

B.Director d=new Manager(); D.Manager m=new Director ();

20. 接口是Java面向对象的实现机制之一,以下说法正确的是( )。

A.Java支持多重继承,一个类可以实现多个接口 B.Java只支持单重继承,一个类可以实现多个接口 C.Java只支持单重继承,一个类可以实现一个接口 D.Java支持多重继承,但一个类只可以实现一个接口 21.下列方法的声明中不合法的是 。

A.float area( ){…} C.area{…}

B.void area( ){…} D.int area(int r){…}

22、下面哪个包是编程时不需要导入就可以直接使用的 。 A.java.net

B.java.lang

C.java.sql

D.java.util

23、调用构造方法是在 。 A.类定义时 C.调用对象的方法时

B.创建对象时 D.使用对象的变量时

24、在子类构造方法的哪个地方可以调用其父类的构造方法 。 A.任何地方

B.构造方法的第一条语句 C.构造方法的最后一条语句

D.无法在子类构造方法中调用父类的构造方法 25、关于Java中的继承,下列说法错误的是 。

A.继承是面向对象编程的核心特征,通过继承可以更有效地组织程序结构。 B.继承使得程序员可以在原有类的基础上很快设计出一个功能更强的新类,而不必从头开始,避免了工作上的重复。

C.每一次继承时,子类都会自动拥有父类的属性和方法,同时也可以加入自己的一些特性,使得它更具体、功能更强大。

D.继承一般有多重继承和单一继承两种方式,在单一继承中每一个类最多只有一个父类,而多重继承则可以有多个父类。Java中的类都采用多重继承。

26、当方法中的局部变量与成员变量同名时,必须使用下列哪一个关键字指出成员变量 。 A.static

B.super

C.this

D.new

27、什么样的方法不能被重写 。 A.私有(private)方法

B.最终(final)方法 D.以上都不对

C.受保护(protected)的方法

28、下列有关抽象类与接口的叙述中正确的是哪一个 。 A.抽象类中必须有抽象方法,接口中也必须有抽象方法 B.抽象类中可以有非抽象方法,接口中也可以有非抽象方法

C.含有抽象方法的类必须是抽象类,接口中的方法必须是抽象方法 D.抽象类中的变量定义时必须初始化,而接口中不是 29、从下列程序中你发现了几处错误 。

abstract class A{ abstract void f(){};

public abstract void k(); }

class B extends A{ protected void f(){ }

void k(){ System.out.print(\ }

public static void main(String[] args) { A a=new A(); a.f(); a.k(); } } A.1 B.2 C.3 30、下列程序运行的结果是 。

interface InterfaceA{

String s=\ void f(); }

class ClassA implements InterfaceA{ public void f(){

System.out.print(s); } }

class ClassB{ void g(InterfaceA a){

a.f(); } }

public class E { public static void main(String[] args) { ClassB b=new ClassB(); b.g(new ClassA()); } } A.good

B.编译正确,但无运行结果

D.4


《Java面向对象编程》练习题(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:气象题库

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: