Java 习题四
一 、填空题
- 一个类如果实现一个接口,那么它就需要实现接口中定义的全部 ( ) , 否则该类就必须定义成 ( ) O
- 一个类可以从其他的类派生出来, 派生出来的类称为 ( ) , 用于
派生的类称为 ( ) 或者 ( ) 。 - 定义一个 Java 类时, 如果前面加使用 ( ) 关键字修饰, 那么该类
不可以被 继承 。 - 在 Java 语言中 ,所有的类都直接或间接继承自 ( ) 类 。
- 一个 Lambda 表达式由三个部分组成,分别为 ( ) 、 ( ) 和 ( ) 二、
二 、 判断题
1.抽象方法必须定义在抽象类中 ,所以抽象类中的方法都是抽象方法。( ) - Java 中被 final 关键字修饰的变量 ,不能被重新赋值。( )
- 不存在继承关系的情况下, 也可以实现方法重写。( )
- 函数式接口在 Java 中是指有且仅有一个抽象方法的接口。( )
- 接口中只能定义常量和抽象方法。( )
三 、选择题 - 在类的继承关系中, 需要遵循以下哪个继承原则? ( )
A, 多重 B,单一 C,双重, .D 不能继承 - 关于 super 关键字以下说法哪些是正确的? ( 多选 )( )
A. super 关键字可以调用父类的构造方法
B. super 关键字可以调用父类的普通方法
C. super 与this 不能同时存在于同一个构造方法中
D. super 与this 可以同时存在于同一个构造方法中
3. 类中的 一 个成员方法被下面哪个修饰符修饰 , 该方法只能在本类被访
问? ( )
A. public B. protectedC. private D. default
4. 在 Java 中, 要想让一 个类继承另一 个类, 可以使用以下哪个关键字? ( )
A. inherits
B. implements
C. extends
D. modifies
5.已知类的继承关系如下:
class Employee;
class Manager extends Employee;
class Director extends Employee;
则以下语句能通过编译的有哪些? ( )
A. Employee e=new ManagerO ; B. Director d = new ManagerO;
C. Director d=new Employee( ) ; D. Manager m=new Director();
四、 简答题
- 简述什么是方法重写 。
- 简述什么是多态 。
- 简述抽象类和接口的区别 。
五、 编程题
- 设计一个学生类 Student 和它的一个子类 Undergraduate。要求如下 : (1) Student 类有 name 和 age 属性,一个包含两个参数的构造方法,用于给 name 和 age 属性赋值, 一个 show()方法打印 Student 的属性信息 。
(2) 本科生类 Undergraduate 增加一个 degree(学位)属性。有一个包含三个 参数的构 造方法, 前两个参数用于给继承的 name 和 age 属性赋值 ,第三 个参数给 degree 专业赋值, 一个 showO 方法用于打印 Undergraduate 的 属性信息 。
(3) 在测试类中分别创建 Student 对象和 Undergraduate 对象, 调用它们的 showOo - 设计一个 Shape 接口和它的两个实现类 Square 和 Circle。要求如下 : (1) Shape 接口中有一个抽象方法 areaO ,方法接收有一个 double 类型的参 数 ,返回一 个 double 类型的结果 。
(2) Square 和 Circle 中实现了 Shape 接口的 areaO 抽象方法, 分别求正方 形和圆形的 面积并返回 。
在测试类中创建 Square 和 Circle 对象, 计算边长为 2 的正方形面积和半径 为 3 的圆形 面积 。