最新java练习题-继承.doc
《最新java练习题-继承.doc》由会员分享,可在线阅读,更多相关《最新java练习题-继承.doc(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品资料java练习题-继承.一.extends和super的使用和方法的重写1. 定义一个人的类(属性有名字,年龄。写一个能输出各个属性值的方法showInfo(),定义一个学生类(属性有性别),学生继承人类要求:(1)父类的属性赋值用构造方法来实现(分别用有参数构造方法和无参数构造方法实现)(2)子类的属性也用构造方法来赋值。(3)在子类中重写父类的showInfo()方法(4)声明学生类的对象,调用学生的显示信息的方法。2定义Animal父类,含有属性name,sex,age,方法sleep,run,编写一个子类Person,继承Animal类,然后调用父类的属性和方法二1、 试编写三个
2、具有继承关系的类,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 包
3、含like()方法 子类 Son 重写父类方法并打印输出4、(选做)父类Employee 属性:name、sex , 带一个构造方法Employee(String n, char s)子类 Worker继承自Employee 属性:char category;/类别 boolean dressAllowance; /是否提供服装津贴 , 有一个构造方法 负责构造所有属性,还有一个自定义方法 isDressAll() 这个方法 负责通过判断dressAllowance的值输出 ,是否提供服装津贴。新建一个类测试类InheDemo 在main方法中新建一个Worker对象,输出这个对象的所有属性
4、并调用isDressAll()方法得到津贴信息选择题(共50题,每题1.5分,共75分。多选题选不全或选错都不得分。)1 以下属于面向对象的特征的是(C,D)。(两项)A) 重载B) 重写C) 封装D) 继承2 以下代码运行输出是(C)public class Personprivate String name=”Person”;int age=0;public class Child extends Personpublic String grade;public static void main(String args)Person p = new Child();System.out.p
5、rintln(p.name);A) 输出:PersonB) 没有输出C) 编译出错D) 运行出错3 在使用super 和this关键字时,以下描述正确的是(A)A) 在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过B) super()和this()不一定要放在构造方法内第一行C) this()和super()可以同时出现在一个构造函数中D) this()和super()可以在static环境中使用,包括static方法和static语句块4 以下对封装的描述正确的是(D)A) 只能对一个类中的方法进行封装,不能对属性进行封装B
6、) 如果子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用C) 封装的意义不大,因此在编码时尽量不要使用D) 封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性5 以下对继承的描述错误的是(A)A)Java中的继承允许一个子类继承多个父类B) 父类更具有通用性,子类更具体C)Java中的继承存在着传递性D) 当实例化子类时会递归调用父类中的构造方法6 以下程序的运行结果是(D)class Personpublic Person()System.out.println(“this is a Person”);public class Teacher extends Person
7、private String name=”tom”;public Teacher()System.out.println(“this is a teacher”);super();public static void main(String args)Teacher teacher = new Teacher();System.out.println(this.name);A) this is a Personthis is a teachertomB) this is a teacherthis is a PersontomC) 运行出错D) 编译有两处错误7 以下说法错误的是()A) su
8、per.方法()可以调用父类的所有非私有方法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-publicB) public-default-pr
9、otected-privateC) private-protected-default-publicD) public-protected-default-private10 以下(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中不会
10、出错class Bookprotected int getPrice()return 30;public class ComputerBook extends BookA) 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)
11、 接口没有提供构造方法B) 接口中的方法默认使用public、abstract修饰C) 接口中的属性默认使用public、static、final修饰D) 接口不允许多继承16 以下代码,描述正确的有(A)interface IDemopublic static final String name;1void print();2public void getInfo();3abstract class Person implements IDemo4public void print()A) 第1行错误,没有给变量赋值B) 第2行错误,方法没有修饰符C) 第4行错误,没有实现接口的全部方法D)
12、 第3行错误,没有方法的实现17 接口和抽象类描述正确的有(B,C)(两项)A) 抽象类没有构造函数B) 接口没有构造函数C) 抽象类不允许多继承D) 接口中的方法可以有方法体18 以下描述错误的有(C)A) abstract 可以修饰类、接口、方法B) abstract修饰的类主要用于被继承C) abstract 可以修饰变量D) abstract修饰的类,其子类也可以是abstract修饰的19 以下描述正确的有(B)A) 方法的重写应用在一个类的内部B) 方法的重载与返回值类型无关C) 构造方法不能重载D) 构造方法可以重写20 以下程序运行结果是(A)public class Test
13、 extends Fatherprivate String name=”test”;public static void main(String args)Test test = new Test();System.out.println(test.getName();class Fatherprivate String name=”father”;public String getName() return name;A) fatherB) testC) 编译出错D) 运行出错,无输出21 以下对异常的描述不正确的有(C)A) 异常分为Error和ExceptionB) Throwable是
14、所有异常类的父类C) Exception是所有异常类父类D) Exception包括RuntimeException和RuntimeException之外的异常22 在try-catch-finally语句块中,以下可以单独与finally一起使用的是(B)A) catchB) tryC) throwsD) throw23 下面代码运行结果是(B)public class Demopublic int add(int a,int b)tryreturn a+b;catch(Exception e)System.out.println(“catch 语句块”);finallySystem.out
15、.println(“finally 语句块”);return 0;public static void main(String args)Demo demo = new Demo();System.out.println(“和是:”+demo.add(9,34);A) 编译异常B) finally语句块 和是:43C) 和是:43 finally语句块D) catch语句块 和是:4324 以下描述不正确的有(D)A) try块不可以省略B) 可以使用多重catch块C) finally块可以省略D) catch块和finally块可以同时省略25 以下对自定义异常描述正确的是(C)A) 自定
16、义异常必须继承ExceptionB) 自定义异常可以继承自ErrorC) 自定义异常可以更加明确定位异常出错的位置和给出详细出错信息D) 程序中已经提供了丰富的异常类,使用自定义异常没有意义26 以下程序运行结果是(D)public class Test public int div(int a, int b) try return a / b;catch(Exception e)System.out.println(“Exception”);catch(NullPointerException e)System.out.println(“ArithmeticException”);catch
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 java 练习题 继承
限制150内