继承
1、编写一个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个类的功能。
package 类的继承; public class Monkey{ public Monkey(String s){ this.s=s; } protected String s; public void speak(){ System.out.println(s+": 咿咿呀呀...."); } } class People extends Monkey{ public People(String s) { super(s); } public void speak(){ System.out.println(s+": 不错嘛!会说话了!"); } public void think(){ System.out.println(s+": 别说话!认真思考!"); } }
package 类的继承; public class tests{ public static void main(String[] args){ Monkey m = new Monkey("猴子"); m.speak(); People p=new People("人类"); p.speak(); p.think(); } }
2.按要求编写一个Java应用程序:
(1)定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。
(2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性,和计算体积的方法。
(3)编写一个测试类,对以上两个类进行测试,创建一个长方体,定义其长、宽、高,输出其底面积和体积。
package 类的继承; public class Rectangle{ public Rectangle(float a,float b){ length = a; wide = b; } float length; float wide; public float GetArea(){ return length * wide; } } class Num extends Rectangle{ public Num(float a,float b,float h){ super(a,b); height=h; } float height; public float GetVolume(){ return length * wide * height; } }
package 类的继承; public class tests2 { public static void main(String[] args){ Num s = new Num(3,4,5); System.out.println("长为"+s.length+"宽为"+s.wide+"高为"+s.height+"的长方体"); System.out.println("底面面积为:"+ s.GetArea()); System.out.println("体积为:"+ s.GetVolume()); } }
3.编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数wheels和车重weight。小车类Car是Vehicle的子类,其中包含的属性有载人数loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个类都有构造方法和输出相关数据的方法。最后,写一个测试类来测试这些类的功能。
package 类的继承; public class Vehicle { public Vehicle(int wh,double we) { Vehicle.wheels =wh; Vehicle.weight =we; } static int wheels; static double weight; public void ShowMessage(){ System.out.println("汽车轮数:"+wheels+"车重:"+weight); } } class car extends Vehicle{ public car(int wh,double we,int lo){ super(wheels, weight); car.loader=lo; } static int loader; public void ShowMessage(){ System.out.println("轿车轮数:"+wheels+"车重:"+weight+"载人数:"+loader); } } class truck extends car{ public truck(int wh,double we,int lo,int pay){ super(wheels, weight,loader); this.payload=pay; } int payload; public void ShowMessage(){ System.out.println("卡车轮数:"+wheels+"车重:"+weight+"载人数:"+loader+"载重量"+payload); } }
package 类的继承; public class tests3 { public static void main(String[] args){ Vehicle s= new Vehicle(4, 1000); s.ShowMessage(); car s2 = new car(4, 800, 4); s2.ShowMessage(); truck s3 = new truck(8, 1400, 2, 8000); s3.ShowMessage(); } }