继承(9.21)——————————课后练习
package 课后练习; /* 编写一个Animal类,具有属性:种类;具有功能:吃、睡。定义 其子类Fish和Dog,定义主类E,在其main方法中分别创建其对象 并测试对象的特性。 */ //建立一个父类 class Animal { //成员属性 private String zhonglei ; //构造无参方法 public Animal( ) { } //set get public String getZhonglei() { return zhonglei; } public void setZhonglei(String zhonglei) { this.zhonglei = zhonglei; } //成员方法 public void eat( ) { System.out.println("鱼吃虾米"); } public void sleep( ) { System.out.println("在水里睡觉"); } } //子类 class Fish extends Animal { } //子类 class Dog extends Animal { //重写方法 public void eat( ) { System.out.println("狗吃骨头"); } public void sleep( ) { System.out.println("在地上睡觉"); } } public class E { public static void main(String[] args) { Fish a = new Fish( ) ; a.eat(); a.sleep(); System.out.println(); Dog b = new Dog( ) ; b.eat(); b.sleep(); } }
package 课上练习; /* 编写一个Java应用程序,该程序包括3个类:Monkey类、People类和主类 E。要求: (1) Monkey类中有个构造方法:Monkey (String s),并且有个public void speak() 方法,在speak方法中输出“咿咿呀呀......”的信息。 (2)People类是Monkey类的子类,在People类中重写方法speak(),在speak方法 中输出“小样的,不错嘛!会说话了!”的信息。 (3)在People类中新增方法void think(),在think方法中输出“别说话!认真思考!” 的信息。 (4)在主类E的main方法中创建Monkey与People类的对象类测试这2个类的功 能。 */ //测试 public class E { public static void main(String[] args) { //创建一个猴子对象 Monkey a = new Monkey("咿咿呀呀~") ; a.speak(); //创建一个人类对象 People1 b= new People1() ; b.speak(); b.thank(); } } //新建猴子类 class Monkey { //无参构造方法 public Monkey() { } //有参构造方法 public Monkey(String s) { } //成员方法 public void speak( ) { System.out.println("咿咿呀呀~"); } } //新建人类是猴子类的子类 class People1 extends Monkey { //继承后进行方法重写 public void speak( ) { System.out.println("小样的,不错嘛!会说话了!"); } //添加新的方法 public void thank ( ) { System.out.println("别说话!认真思考!"); } }
package 课上练习; //新建一个父类 class People2 { //成员属性 protected double weight ; protected double height ; //get set public double getWeight() { return weight; } public void setWeight(double weight) { this.weight = weight; } public double getHeight() { return height; } public void setHeight(double height) { this.height = height; } //无参构造方法 People2( ) { } //成员方法 public void speakHello( ) { System.out.println("你好!"); } public void averageHeight( ) { System.out.println("我们中国人平均身高1.75m"); } public void averageWeight( ) { System.out.println("我们中国人平均体重60kg"); } } //建立一个子类 class ChinaPeople extends People2 { //成员方法 public void chinaGongFu() { System.out.println("坐如钟,站如松,卧如弓,中国功夫博大精深"); } } //建立一个子类 class AmericanPeople extends People2 { //成员方法 public void americanBoXing() { System.out.println("直拳,勾拳,俯冲拳,拳拳入肉"); } //方法重写 public void speakHello( ) { System.out.println("hello~"); } public void averageHeight( ) { System.out.println("我们美国人平均身高1.78m"); } public void averageWeight( ) { System.out.println("我们美国人平均体重63kg"); } } //测试类 public class A922 { public static void main(String[] args) { //创建对象 ChinaPeople a = new ChinaPeople( ) ; a.setHeight(178); a.setWeight(63); a.speakHello(); System.out.println("我是中国人,身高"+a.getHeight()+"米,体重"+a.getWeight()+"kg"); a.averageWeight(); a.averageHeight(); a.chinaGongFu(); System.out.println(); AmericanPeople b = new AmericanPeople( ) ; b.setHeight(180); b.setWeight(67); b.speakHello(); System.out.println("我是中国人,身高"+b.getHeight()+"米,体重"+b.getWeight()+"kg"); b.averageWeight(); b.averageHeight(); b.americanBoXing(); } }
package 课后练习; //建立一个父类 class Instrument { //构造无残方法 public Instrument( ) { } //成员方法 public void play( ) { System.out.println("弹奏乐器"); } } //创建第一个子类 class Wind extends Instrument { //将父类方法重写 public void play( ) { System.out.println("弹奏Wind"); } //新的成员方法 public void play2( ) { System.out.println("调用Wind的play2"); } } // class Brass extends Instrument { //将父类方法重写 public void play( ) { System.out.println("弹奏Brass"); } //新的成员方法 public void play2( ) { System.out.println("调用Brass的play2"); } } public class Music { public static void tune( Instrument i ) { i.play(); } public static void main(String[] args) { Instrument i = new Instrument( ) ; tune(i); Wind a = new Wind( ) ; a.play(); a.play2(); Brass b = new Brass( ) ; b.play(); b.play2(); } } ;
package 课后练习; /* 按要求编写一个Java应用程序: (1)定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。 (2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性, 和计算体积的方法。 (3)编写一个测试类,对以上两个类进行测试,创建一个长方体,定义其长、 宽、高,输出其底面积和体积。 */ //父类 class ChangFangXing { // 成员属性 private double kuan; private double chang; // 构造方法 public ChangFangXing() { } // 构造方法 public ChangFangXing(double kuan, double chang) { this.chang = chang; this.kuan = kuan; } // 面积方法 public double mianJi() { return chang * kuan; } // 周长方法 public double zhouChang() { return 2 * (chang + kuan); } } // 子类 class Lifangti extends ChangFangXing { // 成员属性 private double gao; private double kuan; private double chang; // 构造方法 public Lifangti(double kuan, double gao, double chang) { this.gao = gao; this.chang = chang; this.kuan = kuan; } //体积方法 public double tiJi() { return gao * chang * kuan; } // 面积方法 public double mianJi() { return chang * kuan; } // 周长方法 public double zhouChang() { return 2 * (chang + kuan); } } //测试类 public class Ceshijuxing { public static void main(String[] args) { Lifangti a = new Lifangti(2, 3, 3); System.out.println("立方体底面矩形周长=" + a.zhouChang() + "\n底面面积=" + a.mianJi() + "\n体积=" + a.tiJi()); } }