java练习题-继承 下载本文

一.extends和super的使用和方法的重写

1. 定义一个人的类(属性有名字,年龄。写一个能输出各个属性值的方法showInfo()),定义一个学生类(属性有性别),学生继承人类

要求:(1)父类的属性赋值用构造方法来实现(分别用有参数构造方法和无参数构造方法实现)

(2)子类的属性也用构造方法来赋值。 (3)在子类中重写父类的showInfo()方法

(4)声明学生类的对象,调用学生的显示信息的方法。

2

定义Animal父类,含有属性name,sex,age,方法sleep,run,编写一个子类Person,继承Animal类,然后调用父类的属性和方法 二.

1、 试编写三个具有继承关系的类,A、B、C(B继承A,C继承B)。

要求A中包含方法a1()、a2(),B类中的方法b1()访问了a1()和a2(),C类中的方法c1()访问了a1()、a2()、b1()。

提示:(a1(),a2(),b1(),c1()这些方法体除了实现题目要求之外,其余内容可以任意编写。) 2、请编码实现动物世界的继承关系:

动物(Animal)具有行为:吃(eat)、睡觉(sleep) 动物包括:兔子(Rabbit),老虎(Tiger)

这些动物吃的行为各不相同(兔子吃草,老虎吃肉);但睡

觉的行为是一致的。

请通过继承实现以上需求,并编写测试类AnimalTest进行测试。 3、父类 Person 包含like()方法 子类 Son 重写父类方法并打印输出

4、(选做)父类Employee 属性:name、sex , 带一个构造方法Employee(String n, char s)

子类 Worker继承自Employee 属性:char category;法()可以调用父

类的所有非私有方法

B) super()可以调用父类的所有非私有构造函数 C) super.属性可以调用父类的所有非私有属性

D) this和super关键字可以出现在同一个构造函数中

8. 以下关于final关键字说法错误的是(A,C)(两项)

A) final是java中的修饰符,可以修饰类、接口、抽象类、方法和属性 B) final修饰的类肯定不能被继承 C) final修饰的方法不能被重载

D) final修饰的变量不允许被再次赋值

9. 访问修饰符作用范围由大到小是(D) A) private-default-protected-public B) public-default-protected-private C) private-protected-default-public D) public-protected-default-private

10. 以下(D)不是Object类的方法 A) clone() B) finalize() C) toString() D) hasNext()

11. 多态的表现形式有(A) A) 重写 B) 抽象 C) 继承 D) 封装

12. 以下对重载描述错误的是(B)

A) 方法重载只能发生在一个类的内部 B) 构造方法不能重载

C) 重载要求方法名相同,参数列表不同

D) 方法的返回值类型不是区分方法重载的条件

13. 以下(D)添加到ComputerBook中不会出错 class Book{

protected int getPrice(){ return 30; } }

public class ComputerBook extends Book{ }

A) protected float getPrice(){}

B) protected int getPrice(int page){} C) int getPrice(){}

D) public int getPrice(){return 10;}

14. 以下对抽象类的描述正确的是(C) A) 抽象类没有构造方法 B) 抽象类必须提供抽象方法 C) 有抽象方法的类一定是抽象类

D) 抽象类可以通过new关键字直接实例化

15. 以下对接口描述错误的有(D) A) 接口没有提供构造方法

B) 接口中的方法默认使用public、abstract修饰

C) 接口中的属性默认使用public、static、final修饰 D) 接口不允许多继承

16. 以下代码,描述正确的有(A) interface IDemo{

public static final String name;1 void print();2

public void getInfo();3 }

abstract class Person implements IDemo{4 public void print(){ } }

A) 第1行错误,没有给变量赋值 B) 第2行错误,方法没有修饰符

C) 第4行错误,没有实现接口的全部方法 D) 第3行错误,没有方法的实现