2022年抽象类和接口习题 .pdf
一、选择题1. Java 语言的类间的继承关系是A) 多重的B) 单重的C) 线程的D) 不能继承2. 以下关于 Java 语言继承的说法正确的是A)Java 中的类可以有多个直接父类B)抽象类不能有子类C)Java中的接口支持多继承D)最终类可以作为其它类的父类3. 现有两个类A、 B,以下描述中表示B 继承自 A 的是A) class Aextends B B) class B implements A C) class Aimplements B D) class B extends A 4. 下列选项中,用于定义接口的关键字是A)interface B) implements C) abstract D) class 5. 下列选项中,用于实现接口的关键字是A)interface B) implements C) abstract D) class 二、填空题1. 如果子类中的某个变量的变量名与它的父类中的某个变量完全一样,则称子类中的这个变量 _了父类的同名变量。2. 属性的隐藏是指子类重新定义从父类继承来的_。3. 如果子类中的某个方法的名字、返回值类型和_与它的父类中的某个方法完全一样,则称子类中的这个方法覆盖了父类的同名方法。4. Java 仅支持类间的 _重继承。5. 抽象方法只有方法头,没有_。6. Java 语言的接口是特殊的类,其中包含_常量和 _方法。7. 接口中所有属性均为_、 _和_的。(public、static、final) 三、程序阅读题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=bb , Bill.; public String toString( ) return super.str1+str1; 问题:1)类 A 和类 B 是什么关系?2)类 A 和类 B 都定义了str1 属性和方法toString( ) , 这种现象分别称为什么?3)若 a 是类 A 的对象,则a.toString( ) 的返回值是什么?4)若 b 是类 B 的对象,则b.toString( ) 的返回值是什么?2.现有一个类定义如下,请回答问题: class Employee String name; int age; double wage; static int No=0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - 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)e2.name,e2.age,e2.wage的值各是什么?2)生成对象e1、e2 后, e1.No 值为多少?能否通过类名做前缀引用属性No? 3.阅读程序,回答问题。public class InheritTest1 public static void main (String args) Aaa; B bb; aa=new A( ); bb=new B( ); aa.show( ); bb.show(); class A int a=1; double d=2.0; void show( ) System.out.println(Class A: +ta=+a +td=+d); class B extends A float a=3.0f; String d=Java program.; int b=4; void show( ) System.out.println(Class A: +ta=+super.a +td=+super.d); super.show( ); System.out.println(Class B: +ta=+a +td=+d+tb=+b); 问题: 1)这是哪一类java 程序 ? 2)类 A 和类 B 是什么关系?(类B 是类 A 的子类)3)按程序输出的格式写出程序运行后的结果. 4.现有类说明如下,请回答问题:class A int x=10; int getA()return x; class B extends A 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - int x=100; int getB()return x; 问题: 1)类 B 是否能继承类A 的属性 x?2)若 b 是类 B 的对象,则b.getB()的返回值是什么?3)若 b 是类 B 的对象,则b.getA() 的返回值是什么?4)类 A 和类 B 都定义了x 属性,这种现象称为什么?5.有如下源程序,请回答问题:class A String s=class A; class B extends A String s=class B; public class TypeConvert public static void main(String args) B b1,b2=new B(); A a1,a2; a1=(A)b2; a2=b2; System.out.println(a1.s); System.out.println(a2.s); b1=(B)a1; System.out.println(b1.s); System.out.println(b2.s); 问题 : 该程序的四行输出各是什么? 6.现有类说明如下,请回答问题:public class A int x=888; String str=I like: ; public String toString() return str+x; public class B extends A String x=java; public String toString() return str+x+ and +super.x; 问题: 1)类 A 和类 B 是什么关系?2)类 A 和类 B 都定义了x 属性和方法toString() ,这种现象分别称为什么?(3)若 a 是类 A 的对象,则a.toString( ) 的返回值是什么?4)若 b 是类 B 的对象,则b.toString( ) 的返回值是什么?7.运行类 C 的输出结果是什么?class A public A() System.out.println( “ The default constructor of A is invoked ” ); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 5 页 - - - - - - - - - class B extends A public B() public class C public static void main(String args) B b = new B(); 8.阅读下列程序写出输出结果: class A String s=class A; void show() System.out.println(s); class B extends A String s=class B; void show() System.out.println(s); public class TypeConvert public static void main(String args) B b1; B b2=new B(); A a1,a2; a1=(A)b2; a2=b2; System.out.println(a1.s); a1.show(); System.out.println(a2.s); a2.show(); b1=(B)a1; System.out.println(b1.s); b1.show(); System.out.println(b2.s); b2.show(); 答案 : 四、程序填空题1.下面是一个类的定义,完成程序填空。public class Youwrite 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 5 页 - - - - - - - - - int x; _( ) x=0; Youwrite ( int x) _; 2.下面是定义一个接口ITF 的程序,完成程序填空。public _ ITF public static final double PI=Math.PI; public _ double area(double a, double b); 3.下面是定义一个接口A 的程序,完成程序填空。public interface A public static _ double PI=3.14159; public abstract double area(double a, double b)_ 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -