JAVA复习习题
- 格式:docx
- 大小:32.44 KB
- 文档页数:32
JAVA复习习题
类的继承习题
一、选择题
1. Java语言的类间的继承关系是( B )。
A) 多重的 B) 单重的 C) 线程的 D) 不能继承
2. 以下关于Java语言继承的说法正确的是( C )。
A)Java中的类可以有多个直接父类 B)抽象类不能有子类
C)Java中的接口支持多继承 D)最终类可以作为其它类的父类
3. 现有两个类A、B,以下描述中表示B继承自A的是(D)。
A) class A extends B B) class B implements A
C) class A implements B D) class B extends A
4. 下列选项中,用于定义接口的关键字是( A)。
A)interface B) implements C) abstract D) class
5. 下列选项中,用于实现接口的关键字是( B)。
A)interface B) implements C) abstract D) class
6. Java语言的类间的继承的关键字是( B )。
A) implements B) extends C) class D) public
7. 以下关于Java语言继承的说法错误的是( A )。
A)Java中的类可以有多个直接父类 B)抽象类可以有子类
C)Java中的接口支持多继承 D)最终类不可以作为其它类的父类
8. 现有两个类M、N,以下描述中表示N继承自M的是(D)。
A) class M extends N B) class N implements M
C) class M implements N D) class N extends M
9. 现有类A和接口B,以下描述中表示类A实现接口B的语句是(A)。
A) class A implements B B) class B implements A
C) class A extends B D) class B extends A
10. 下列选项中,定义抽象类的关键字是( C)。
A)interface B) implements C) abstract D) class 11. 下列选项中,定义最终类的关键字是(D)。
A)interface B) implements C) abstract D) final
12. 下列选项中,哪个是java语言所有类的父类(C)
A)String B) Vector C) Object D) KeyEvent
13. java语言中,用于判断某个对象是否是某个类的实例的运算符是(A)
A)instanceof B) + C) isinstance D) &&
14. 下列选项中,表示数据或方法可以被同一包中的任何类或它的子类访问,即使子类在不同的包中也可以的修饰符是(B)
A)public B) protected C) private D) final
15. 下列选项中,表示数据或方法只能被本类访问的修饰符是(C)
A)public B) protected C) private D) final
16. 下列选项中,接口中方法的默认可见性修饰符是(A)
A)public B) protected C) private D) final
17. 下列选项中,表示终极方法的修饰符是:(B)
A)interface B) final C) abstract D) implements
18. 下列选项中,定义接口MyInterface的语句正确的是:(A)
A)interface MyInterface{ } B) implements MyInterface { }
C) class MyInterface{ } D) implements interface My{ }
19. 如果子类中的方法mymethod()覆盖了父类中的方法mymethod(),假设父类方法头部定义如下:void mymethod(int a),则子类方法的定义不合法的是:(C)
A)public void mymethod(int a) B) protected void
mymethod(int a)
C) private void mymethod(int a) D) void mymethod(int a)
二、填空题
1. 如果子类中的某个变量的变量名与它的父类中的某个变量完全一样,则称子类中的这个变量________了父类
3. 如果子类中的某个方法的名字、返回值类型和________与它的父类中的某个方法完全一样,则称子类中的这个方法覆盖了父类的同名方法。(参数列表)
4. Java 仅支持类间的____重继承。(单重)
5. 抽象方法只有方法头,没有________。(方法体)
6. Java 语言的接口是特殊的类,其中包含______常量和_______方法。(static(静态); abstract(抽象))
7. 接口中所有属性均为_________、_________和________的。
(public、static、final)
8. 如果接口中定义了一个方法methodA(),一个属性attA,那么一个类ClassA要实现这个接口的话,就必须实现其中的_______方法。(methodA())
9.一个类如果实现一个接口,那么它就必须实现接口中定义的所有方法,否则该类就必须定义成________的。(抽象的)
10. 如果子类中的某个方法的名字、__________和参数列表与它的父类中的某个方法完全一样,则称子类中的这个方法覆盖了父类的同名方法。(返回值类型)
11. Java 仅支持类间的单重继承,接口可以弥补这个缺陷,支持_____重继承(多重)
12. 在方法头用abstract修饰符进行修饰的方法叫做________方法。(抽象)
语言中用于表示类间继承的关键字是___________。(extends)
14. 接口中所有方法均为________和________的。
(public、abstract)
15. Java语言中,表示一个类不能再被继承的关键字是________。(final)
16. Java语言中,表示一个类A继承自父类B,并实现接口C的语句是_________________。
(class A extends B implements C)。
17. 如果子类中的方法compute()覆盖了父类中的方法compute(),假设父类的compute()方法头部有可见性修饰符public,则methodS()的可见性修饰符必须是__________。(public) 三、程序阅读题
1.现有类说明如下,请回答问题:
public class A
{
String str1=" Hello! \t";
String str2=" How are you ";
public String toString( )
{ return str1+str2; }
}
public class B extends A
{
String str1="\b\b,Bill.";
public String toString( )
{ return +str1; }
}
问题:
1)类A和类B是什么关系(继承关系)
2)类A和类B都定义了str1属性和方法toString( ),这种现象分别称为什么(属性的隐藏;方法的覆盖)
3)若a是类A的对象,则( )的返回值是什么
(Hello! How are you)
4)若b是类B的对象,则( )的返回值是什么(Hello,Bill.)
2.现有一个类定义如下,请回答问题:
class Employee
{
String name;
double wage;
static int No=0;
Employee(String a1,int a2,double a3)
{ name=a1; age=a2; wage=a3;
No++;
}
}
在使用该类时,已使用下面语句生成了该类的对象:
Employee e1,e2;
e1=new Employee("王劲",26,6300);
e2=new Employee("张山",30,3800);
问题:
1),,的值各是什么(张山;30;
2)生成对象e1、e2后,值为多少能否通过类名做前缀引用属性No(2; 能)
3.阅读程序,回答问题。
public class InheritTest1
{
public static void main (String[] args)
{
A aa;
B bb;
aa=new A( ); bb=new B( );
( ); ();
}
}
class A
{
int a=1;
double d=;
void show( )
{ }
} class B extends A
{
float a=3.0f;
String d="Java program.";
int b=4;
void show( )
{
( );
}
}
问题:1)这是哪一类java程序(java应用程序)
2)类A和类B是什么关系(类B是类A的子类)
3)按程序输出的格式写出程序运行后的结果.
(程序运行结果如下:
Class A: a=1 d=
Class A: a=1 d=
Class A: a=1 d=
Class B: a= d=Java program. b=4 )
4.现有类说明如下,请回答问题:
int x=10;
int getA(){return x;}
}
class B extends A
{
int x=100;
int getB(){return x;}
}
问题:1)类B是否能继承类A的属性x(能)
2)若b是类B的对象,则()的返回值是什么(100)
3)若b是类B的对象,则()的返回值是什么(10)