当前位置:首页 > Java面向对象编程练习题part1
【练习题】01
猜数字游戏:一个类 GuessNumber有一个成员变量v,有一个初值100。定义另一个类,对GuessNumber类的成员变量v进行猜。如果大了则提示大了,小了则提示小了。等于则提示猜测成功。
【练习题】02
请定义一个交通工具(Vehicle)的类,其中有属性:速度(speed),体积(size)等等
方法:移动(move()),设置速度(setSpeed(int speed)),加速speedUp(),减速speedDown()等等. 最后在测试类Vehicle中的main()中实例化一个交通工具对象,并通过方法给它初始化speed,size的值,并且通过打印出来。另外,调用加速,减速的方法对速度进行改变。
【练习题】03
在程序中,经常要对时间进行操作,但是并没有时间类型的数据。那么,我们可以自己实现一个时间类,来满足程序中的需要。
定义名为MyTime的类,其中应有三个整型成员:时(hour),分(minute),秒(second),为了保证数据的安全性,这三个成员变量应声明为私有。 为MyTime类定义构造方法,以方便创建对象时初始化成员变量。 再定义display方法,用于将时间信息打印出来。 为MyTime类添加以下方
法: addSecond(int sec) addMinute(int min) addHour(int hou) subSecond(int sec) subMinute(int min) subHour(int hou)
分别对时、分、秒进行加减运算。
【练习题】04.
编写Java程序,模拟简单的计算器。
定义名为Number的类,其中有两个整型数据成员n1和n2,应声明为私有。编写构造方法,赋予n1和n2初始值,再为该类定义加(addition)、减(subtration)、乘(multiplication)、除(division)等公有成员方法,分别对两个成员变量执行加、减、乘、除的运算。 在main方法中创建Numbe r类的对象,调用各个方法,并显示计算结果。
【练习题】05
编写Java程序,用于显示人的姓名和年龄。 定义一个人类(Person),该类中应该有两个私有属性,姓名(name)和年龄(age)。定义构造方法,用来初始化数据成员。再定义显示(display)方法,将姓名和年龄打印出来。
在main方法中创建人类的实例,然后将信息显示。
【练习题】06
定义一个类,该类有一个私有成员变量,通过构造方法将其进行赋初值,并提供该成员的getXXX()和setXXX()方法 提示:假设有 则有
public void setName(String name){ this.name = name; } public String getName(){ return this.name; }
【练习题】07
定义一个名为Vehicles(交通工具)的基类,该类中应包含String类型的成员属性brand(商标)和color(颜色),还应包含成员方法run(行驶,在控制台显示“我已经开动了”)和showInfo(显示信息,在控制台显示商标和颜色),并编写构造方法初始化其成员属性。 编写Car(小汽车)类继承于Vehicles类,增加int型成员属性seats(座位),还应增加成员方法showCar(在控制台显示小汽车的信息),并编写构造方法。 编写Truck(卡车)类继承于Vehicles类,增加float型成员属性load(载重),还应增加成员方法showTruck(在控制台显示卡车的信息),并编写构造方法。 在main方法中测试以上各类。
【练习题】08
创建一个名称为StaticDemo的类,并声明一个静态变量和一个普通变量。对变量分别赋予10和5的初始值。在main()方法中输出变量值。
【练习题】09
创建一个名称为mypackage的包,使它包含MainClass和MainSubClass类。MainClass类应当包含变量声明,其值从构造函数中输出。MainSubClass类从MainClass派生而来。试执行下列操作:创建一个名称为SamePackage的类,使它导入上述包,并创建一个MainSubClass类的对象。
【练习题】10
建立一个汽车Auto类,包括轮胎个数,汽车颜色,车身重量、速度等成员变量。并通过不同的构造方法创建实例。至少要求: 汽车能够加速,减速,停车。 再定义一个小汽车类Car,继承Auto,并添加空调、CD等成员变量,覆盖加速,减速的方法
【综合题】11 (必须完成)
定义一个\类,有姓名,年龄,性别等成员变量
1. 要求尽可能隐藏所有变量(能够私有就私有,能够保护就不要公有),再通
过GetXXX()和SetXXX()方法对各变量进行读写。具有一个play()方法,该方法不返回任何值,同时至少定义两个构造方法。Role类中要体现出this的几种用法。
2. 从Role类派生出一个\类,该类具有Role类的所有成员(构造方法除外),并扩展 salary成员变量,同时增加一个静态成员变量“职工编号(ID)”。同样要有至少两个构造方法,要体现出this和super的几种用法,还要求覆盖play()方法,并提供一个final sing()方法。
3. \类继承\类,有一个final引用类型的成员变量\(引用07题中的)
4. 在main()方法中制造Manager和Employee对象,并测试这些对象的方法
【综合题】12.题目:品尝饮料 (必须完成) 一、 语言和环境 1. 实现语言:Java
2. 环境要求:JDK1.4或以上版本及其联机帮助文档 二、 要求
1、在控制台输入参数(饮料类型),输出该饮料类型的味道,
如:当在控制台输入1时, 输出:咖啡:苦
2、当控制台输入7,如果没有该种饮料,结果: 对不起!没有您输入的饮料
类型。
三、 推荐实现步骤
1、建立一个Java类Drink,应当:
a、声明一个方法taste(),该方法负责输出饮料的味道; b、声明int型常量来代表不同的饮料类型(咖啡、啤酒、牛奶),如: c、声明静态工厂方法getDrink(int drinkType),根据输入的参数创建不同的饮料对象,并返回该对象,建议使用switch语句。当没有相对应的饮料类型时,应给与提示相应错误信息。 2、建立Drink的具体子类:
a、分别建立Drink的子类:Coffee(代表咖啡),Beer(代表啤酒),Milk(代表牛奶); b、实现taste()方法,要求在控制台打印各自的味道特征。
3、建立Test测试类,测试以上内容的正确性
a、编写main方法,通过控制台输入某种饮料的类型。
b、在main方法中,调用Drink类的getDrink方法,获得相应的饮料对象。注意如果输入有误,应给与提升相应的错误信息。
c、然后调用该饮料对象的taste()方法,输出该饮料的味道。
5、编译程序,并运行。
四、 注意事项
1、仔细审题,把题目要求理解准确; 2、请注意多态性的运用;
3、请注意代码的书写、命名符合规范,应有适当的注释及文档注释。
共分享92篇相关文档