java面向对象测试题(一) 下载本文

1.封装:在淘宝网上,我们经常登录注册,在里面有一个用户User,User有用户名username,password,年龄age,性别sex,请使用封装将用户封装为一个完整的个体,运行结果如下:

提示:

(1)定义类,并对其进行封装,加入两个构造方法,添加加一个info的方法,返回void,输出用户信息

(2)再定义一个类UserTest,测试输出

注:注意修饰符,构造方法,注释等各个规范,否则扣分

2.子类继承父类:每个人的名字都由名和字组成,中国人的名字是“名“+”字”,英国人的是”字”+“.”+”名”:

有一个类英国人Englishman,里面有姓fristName,名lastName,有输出姓名的方法display(),还有一个类中国人Chinese,里面有姓fristName,名lastName,也有输出姓名的方法display(),还有一个普通类人类Person,有输出姓名的方法display() 请使用面向对象+继承的思想完成结果图:

提示:(1)定义一个父类Person,抽取子类共有的属性和方法 (2)定义一个Englishman类,继承父类,并重写方法 (3)定义一个Chinese类,继承父类,并重写方法

(4)定义一个PersonTest类,用来做测试display输出姓名

注:注意修饰符,构造方法,使用多态,注释的各个规范,否则扣分

3.继承抽象类:定义一个抽象类机动车Motovercal,里面有车牌号no,类型type,价格price属性,里面有一个show()方法是抽象方法,定义一个轿车Car类,他有特有的属性颜色color,有一个公共汽车Bus,他有特有属性座位数seatCount,实现如图功能:

提示:

(1)定义一个抽象类Motovercal,里面有属性车牌号no,类型type,价格price,里面有抽象方法show()

(2)定义一个轿车Car类,继承Motovercal,他有特有的属性颜色color

(3)定义一个轿车Bus类,继承Motovercal,他有特有的属性座位数seatCount (4)编写测试类MotovercalTest

注:注意修饰符,构造方法,使用多态,注释的各个规范,否则扣分

4.实现接口:定义一个接口Usb,里面有工作方法work(),定义一个Usb鼠标UsbMouse和UsbKeyborder键盘,让两个Usb设备继承Usb接口,运行结果如下:

提示:本题测试类UsbTest

注:注意修饰符,构造方法,使用多态,注释的各个规范,否则扣分

5.继承类并实现接口:马继承Animal,还能实现能飞的能力,简称飞马,运行结果如下:

提示:

(1)定义一个抽象类Animal,里面有name属性

(2)定一个Flyable的接口,表示飞的能力,里面有飞fly()的方法,返回void (3)定义一个Horse类,让他继承抽象类Animal,并实现接口Flyable 注:注意修饰符,构造方法,使用多态,注释的各个规范,否则扣分

6.继承类,并实现多个接口,有一个父类Person,里面有姓名name和性别sex,年龄age属性,还有一个抽象show方法(),定义一个能说的接口Sayable,定义一个能听的接口Hearable,还有一个能吃的接口Eatable,哑巴Dumb是不能说的,聋子Deaf是不能听到的,但他们都有姓名,年龄,性别,如何完成他们的关系,且运行结果如下:

提示:

(1)定义一个抽象类Person,里面有name,sax,age属性,并有show抽象方法 (2)定义一个接口Sayable,里面有一个说say()的方法 (3)定义一个接口Hearable,里面有一个听hare()的方法 (4)定义一个接口Eatable,里面有一个吃eat()的方法

(5)定义一个哑巴Dumb类,继承Person,并是实现Sayable,Eatable的接口 (6)定义一个哑巴Deaf类,继承Person,并是实现Hearable,Eatable的接口 (7)定义一个测试类PersonTest进行测试

注:注意修饰符,构造方法,使用多态,注释的各个规范,否则扣分

7.使用父类调到子类的属性:定义一个父类Base,他里面有name属性,定义一个Child类,继承Base,他同样也有name属性,使用父类类型子类对象测试一下如何调到子类的属性值

提示:(1)定义一个父类Base,他里面有name属性

(2)定义一个Child类,继承Base,他同样也有name属性

(3)定义一个BaseTest类,测试使用父类类型,子类对象获取子类的属性值 注:注意修饰符,构造方法,使用多态,注释的各个规范,否则扣分

8.使用父类做参数:定一个接口Pen,里面有getType()方法,定义一个类铅笔pencil,定义一个类钢笔FountainPen,定义一个纸的接口Paper,里面有getSize()方法,定义A4paper类和B5paper类,定义一个文章类Articlescrap,如何让他组合笔和纸进行文章的书写

提示:(1)定一个接口Pen,里面有getType()方法 (2)定义一个类铅笔Pencil,实现接口Pen

(3)定义一个类钢笔FountainPen,实现接口Pen (4)定义一个纸的接口Paper,里面有getSize()方法 (5)定义A4paper类,实现接口Paper (6)定义B5paper类,实现接口Paper

(7)定义一个文章Articlescrap类,里面有write方法,有两个参数笔和纸,返回void类型 (8)定义一个ArticlescrapTest类进行测试

注:注意修饰符,构造方法,使用多态,注释的各个规范,否则扣分

9.使用父类做返回值:有一个抽象类Pet,里面有name,health,love的属性,还有eat的抽象方法,定义一个Dog,他特有strain的属性,Penguin他特有sex的属性,定义一个宠物工厂类PetFactory,他里面有一个方法getPet();当传入“小花”就返回一条小花的狗狗,当传入“QQ”就返回一个QQ的企鹅:

(1)定义一个抽象类pet,里面有name,health,love的属性,还有eat的抽象方法,返回void

(2)定义一个类Dog,,他特有strain的属性 (3)定义一个类Penguin,他特有sex的属性 (4)定义一个PetTest类,测试

注:注意修饰符,构造方法,使用多态,注释的各个规范,否则扣分

10. 豆豆家养了两只家禽Poultry,将其定义为接口:一只鸡Chicken,将其定义为类和一只鸭Duck(将其定义为类),在接口Poultry中有getName()的方法,实现执行结果如下:

(1)写一个接口Poultry,他里面有方法getName(),返回String (2)写一个类Chicken,里面有name属性,实现接口Poultry (3)写一个类Duck,里面有name属性,实现接口Poultry

(4)再写一个测试类PoultryTest,里面使用父类类型,子类对象,然后调getName()方法 注:注意修饰符,构造方法,使用多态,注释的各个规范,否则扣分 附加题:

11.接口数组:定一个接口Pet,里面有getPrice的方法,定义一个Dog类,里面有price属性,定一个Cat里面有price属性,让两个子类实现接口,在主方法中,定义5个宠物,让后统计他们的总价格,使用接口数组实现

12.设计食草动物和食肉动物,食草动物GrazertAnimal吃的草,食肉动物MeatAnimal吃的其他动物,如兔子吃草,老虎可以吃兔子,老虎也可能会把老虎吃了,发挥想象如何设计实现上述的功能