作业
1、定义交通工具类,属性:颜色、速度、耗油量;方法:移动、停止。
// 定义汽车类和轮船类继承交通工具,汽车类有品牌属性,有刹车方法
// 轮船有排水量属性,有抛锚方法。
// 创建汽车和轮船对象,并调用所有的方法。
public class JiaoTongGJ {
private String colour;
private int speet;
private int haoYouLiang;
public JiaoTongGJ ( ) {
super ( ) ;
}
public JiaoTongGJ ( String colour, int speet, int haoYouLiang) {
super ( ) ;
this . colour = colour;
this . speet = speet;
this . haoYouLiang = haoYouLiang;
}
public String getColour ( ) {
return colour;
}
public void setColour ( String colour) {
this . colour = colour;
}
public int getSpeet ( ) {
return speet;
}
public void setSpeet ( int speet) {
this . speet = speet;
}
public int getHaoYouLiang ( ) {
return haoYouLiang;
}
public void setHaoYouLiang ( int haoYouLiang) {
this . haoYouLiang = haoYouLiang;
}
public void move ( ) {
System. out. println ( desc ( ) + "的交通工具正在移动" ) ;
}
public void stop ( ) {
System. out. println ( desc ( ) + "的交通工具正在停止" ) ;
}
public String desc ( ) {
return "颜色为:" + getColour ( ) + ",速度为:" + getSpeet ( ) + ",耗油量为:" + getHaoYouLiang ( ) ;
}
}
public class QiChe extends JiaoTongGJ {
private String name;
public QiChe ( ) {
super ( ) ;
}
public QiChe ( String colour, int speet, int haoYouLiang) {
super ( colour, speet, haoYouLiang) ;
}
public String getName ( ) {
return name;
}
public void setName ( String name) {
this . name = name;
}
public void shaChe ( ) {
System. out. println ( getName ( ) + "正在刹车" ) ;
}
}
public class LunChuan extends JiaoTongGJ {
private int paiShuiLiang;
public LunChuan ( ) {
super ( ) ;
}
public LunChuan ( String colour, int speet, int haoYouLiang) {
super ( colour, speet, haoYouLiang) ;
}
public int getPaiShuiLiang ( ) {
return paiShuiLiang;
}
public void setPaiShuiLiang ( int paiShuiLiang) {
this . paiShuiLiang = paiShuiLiang;
}
public void paoMao ( ) {
System. out. println ( "轮船在抛锚" ) ;
}
}
public class Test1 {
public static void main ( String[ ] args) {
QiChe qiChe = new QiChe ( "黑色" , 100 , 40 ) ;
LunChuan lunChuan = new LunChuan ( "白色" , 80 , 50 ) ;
qiChe. setName ( "宝马" ) ;
lunChuan. setPaiShuiLiang ( 30 ) ;
qiChe. move ( ) ;
qiChe. stop ( ) ;
qiChe. shaChe ( ) ;
lunChuan. move ( ) ;
lunChuan. stop ( ) ;
lunChuan. paoMao ( ) ;
}
}
2、定义人类,人类有吃饭的方法,中国人、美国人、印度人继承人类,重写吃饭的方法,分别输出中国人用筷子吃饭,
// 美国人用刀叉吃饭,印度人用手吃饭,编程实现上面的案例。
public class Person {
public void chiFan ( ) {
System. out. println ( "正在吃饭" ) ;
}
}
public class Chinese extends Person {
public void chiFan ( ) {
System. out. println ( "中国人用筷子吃饭" ) ;
}
}
public class Aamericans extends Person {
public void chiFan ( ) {
System. out. println ( "美国人用刀叉吃饭" ) ;
}
}
public class India extends Person {
public void chiFan ( ) {
System. out. println ( "印度人用手吃饭" ) ;
}
}
public class Test2 {
public static void main ( String[ ] args) {
Chinese chinese = new Chinese ( ) ;
chinese. chiFan ( ) ;
Aamericans aamericans = new Aamericans ( ) ;
aamericans. chiFan ( ) ;
India india = new India ( ) ;
india. chiFan ( ) ;
}
}
3、定义一个家电类,定义功率、价格、品牌属性,定义启动方法用于输出这些属性。
// 定义一个电视类,继承家电类,添加播放方法。
// 创建电视对象,调用播放方法。
// 最后给家电添加有参的构造方法,在电视中也添加有参的构造方法,用super调用父类构造方法。
// 4、扩展
// 接上一题,定义一个长度为5的家电数组,保存5个家电对象到数组中
// 按照价格对家电数组进行排序
public class JiaDian {
private String name;
private int gongLv;
private int price;
public JiaDian ( ) {
super ( ) ;
}
public JiaDian ( String name, int gongLv, int price) {
super ( ) ;
this . name = name;
this . gongLv = gongLv;
this . price = price;
}
public String getName ( ) {
return name;
}
public void setName ( String name) {
this . name = name;
}
public int getGongLv ( ) {
return gongLv;
}
public void setGongLv ( int gongLv) {
this . gongLv = gongLv;
}
public int getPrice ( ) {
return price;
}
public void setPrice ( int price) {
this . price = price;
}
public void qiDong ( ) {
System. out. println ( "品牌为:" + getName ( ) + ",功率为:" + getGongLv ( ) + ",价格为:" + getPrice ( ) + "的电器正在启动" ) ;
}
@Override
public String toString ( ) {
return "JiaDian [name=" + name + ", gongLv=" + gongLv + ", price=" + price + "]" ;
}
}
public class DianShi extends JiaDian {
public DianShi ( String name, int gongLv, int price) {
super ( name, gongLv, price) ;
}
public void boFang ( ) {
qiDong ( ) ;
System. out. println ( "电视正在播放" ) ;
}
}
public class Test3 {
public static void main ( String[ ] args) {
DianShi dianShi = new DianShi ( "晶弘" , 45 , 2000 ) ;
dianShi. boFang ( ) ;
JiaDian dsj = new JiaDian ( "电视机" , 50 , 6000 ) ;
JiaDian bx = new JiaDian ( "冰箱" , 100 , 2500 ) ;
JiaDian bjb = new JiaDian ( "笔记本" , 30 , 4000 ) ;
JiaDian rsq = new JiaDian ( "热水器" , 80 , 3000 ) ;
JiaDian kt = new JiaDian ( "空调" , 120 , 5000 ) ;
JiaDian [ ] arrgs = { dsj, bx, bjb, rsq, kt} ;
for ( int i = 0 ; i < arrgs. length - 1 ; i++ ) {
for ( int j = 0 ; j < arrgs. length - 1 - i; j++ ) {
if ( arrgs[ j] . getPrice ( ) > arrgs[ j+ 1 ] . getPrice ( ) ) {
JiaDian a = arrgs[ j] ;
arrgs[ j] = arrgs[ j+ 1 ] ;
arrgs[ j+ 1 ] = a;
}
}
}
for ( JiaDian n : arrgs) {
System. out. println ( n) ;
}
}
}