当前位置:首页 > 类与对象、继承练习题给学生
类与对象、继承练习题1 一、填空题
1. 如果一个方法不返回任何值,则该方法的返回值类型为。
2. 如果子类中的某个方法名、返回值类型和______与父类中的某个方法完全一
致,则称子类中的这个方法覆盖了父类的同名方法。
3. 方法是一种仅有方法声明,没有具体方法体和操作实现的方法,该方法必须
在类之中定义。
4. 一般Java程序的类主体由两部分组成:一部分是,另一部分是。 5. 分别用关键字来定义类,用关键字来分配实例存储空间。
6. 当一个类的修饰符为l 时,说明该类不能被继承,即不能有子类。
二、选择题
1. 方法内定义的变量()。
A.一定在方法内所有位置可见 B.可能在方法的局部位置可见 C.在方法外可以使用 D.在方法外可见
2. 方法的形参()。
A.可以没有 C.必须定义多个形参
3. return语句(D)。
B.至少有一个 D.只能是简单变量 B.只可以返回数值 D.一个方法中可以有多个 B.int D.static
A.不能用来返回对象 C.方法都必须含有
4. main()方法的返回值类型是(C。
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 sameas two arguments version if constructer }
下面那个选项可以添加到// doing the same??处()
A.Person(n,a) C.this(n,a)
12. 请看下面的程序段 class Test{ privateint m;
B.this(Person(n,a)) D.this(name.age)
public static void fun(){ //some code }
}
方法fun()如何来访问变量m()
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{ inta,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.产生编译错误 B.代码可以编译运行,并输出结果:AB C.代码可以编译运行,但没有输出 异常
19. 已知类关系如下: Class Employee{}
Class Manager extends Employee{} Class Director extends Employee{} 则下列语句正确的是:()。
D.编译没有错误,但会产生运行时
A.Employee e=new Manager(); C.Director d =new Employee (); 20.下列方法的声明中不合法的是。 A.float area(){…} C.area{…}
B.Director d=new Manager(); D.Manager m=new Director ();
B.void area(){…} D.int area(int r){…}
21、下面哪个包是编程时不需要导入就可以直接使用的。 A.java.net
B.java.lang
C.java.sql
D.java.util
22、调用构造方法是在。 A.类定义时 C.调用对象的方法时
B.创建对象时 D.使用对象的变量时
23、在子类构造方法的哪个地方可以调用其父类的构造方法。 A.任何地方
B.构造方法的第一条语句 C.构造方法的最后一条语句
D.无法在子类构造方法中调用父类的构造方法
24、当方法中的局部变量与成员变量同名时,必须使用下列哪一个关键字指出成员变量。
共分享92篇相关文档