栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

java 继承练习题

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java 继承练习题

1、实现如下类之间的继承关系,并编写Music类来测试这些类。

public classInstrument {public voidplay(){

System.out.println("弹奏乐器!");

}

}

public class Wind extendsInstrument{//复写play方法

public voidplay(){

System.out.println("弹奏Wind!");

}public voidplay2(){

System.out.println("调用wind的play2");

}

}

public class Brass extendsInstrument {//复写play方法

public voidplay(){

System.out.println("弹奏brass!");

}public voidplay2(){

System.out.println("调用brass的play2!");

}

}

public classMusic {public static voidtune(Instrument i){

i.play();

}public static voidmain(String[] args){

Wind w=newWind();

Brass b=newBrass();

tune(w);

tune(b);

}

}

2、创建如下三个类:(People类中的三个方法分别输出一些信息,ChinaPeople和AmericanPeople类重写父类的三个方法)。

public classPeople {protected doubleheight;protected doubleweight;public doublegetHeight() {returnheight;

}public void setHeight(doubleheight) {this.height =height;

}public doublegetWeight() {returnweight;

}public void setWeight(doubleweight) {this.weight =weight;

}public voidspeakHello(){

System.out.println("你好!!!");

}public voidaverageHeight(){

System.out.println("平均身高是:"+height);

}public voidaverageWeight(){

System.out.println("平均体重是:"+weight);

}

}

public class ChinaPeople extendsPeople {public voidspeakHello(){

System.out.println("你好,我是中国人!");

}public voidaverageHeight(){

System.out.println("中国人的平均身高是:"+height);

}public voidaverageWeight(){

System.out.println("中国人的平均体重是:"+weight);

}public voidchinaGongfu(){

System.out.println("我会中国功夫:坐如钟,站如松,睡如弓!");

}

}

public class AmericanPeople extendsPeople {public voidspeakHello(){

System.out.println("你好,我是美国人!");

}public voidaverageHeight(){

System.out.println("美国人的平均身高是:"+height);

}public voidaverageWeight(){

System.out.println("美国人的平均体重是:"+weight);

}public voidamercianBoxing(){

System.out.println("我会美式拳击:直拳,上勾拳!");

}

}

public classTestPeople {public static voidmain(String[] args) {

ChinaPeople chp=newChinaPeople();

chp.height=180;

chp.weight=130;

chp.speakHello();

chp.averageHeight();

chp.averageWeight();

chp.chinaGongfu();

AmericanPeople amp=newAmericanPeople();

amp.setHeight(175);

amp.setWeight(150);

amp.speakHello();

amp.averageHeight();

amp.averageWeight();

amp.amercianBoxing();

}

}

3、编写一个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 classMonkey {private String name; //声明属性name//getter、setter方法

publicString getName() {returnname;

}public voidsetName(String name) {this.name =name;

}//构造方法

Monkey(String s){this.name=s;

}//成员方法

public voidspeak(){

System.out.println("咿咿呀呀.........");

}

}

public class People00 extendsMonkey {

People00(String s) {super(s);

}//重写speak()方法

public voidspeak(){

System.out.println("小样的,不错嘛!会说话了!");

}voidthink(){

System.out.println("别说话!认真思考!");

}

}

public classE {public static voidmain(String[] args) {

Monkey m=new Monkey("Toney");

System.out.println("我是猴子"+m.getName());

m.speak();

People00 p=new People00("Tom");

System.out.println("我是人类"+p.getName());

p.speak();

p.think();

}

}

4、定义类Human,具有若干属性和功能;定义其子类Man、Woman;在主类Test中分别创建子类、父类和上转型对象,并测试其特性。

public classHuman {privateString name;private intage;privateString sex;publicString getName() {returnname;

}public voidsetName(String name) {this.name =name;

}public intgetAge() {returnage;

}public void setAge(intage) {this.age =age;

}publicString getSex() {returnsex;

}public voidsetSex(String sex) {this.sex =sex;

}public voidspeak(){

System.out.println("I am a human.");

}public voidrun(){

System.out.println("I can run.");

}public voidgetInfo(){

System.out.println("我的名字是:"+getName()+" 我的年龄是:"+getAge()+" 我的性别是:"+getSex());

Man m=newMan();

}

}

public class Man extendsHuman{public voidman(){if(getSex()=="男人"){

System.out.println("I am a man.");

}else{

System.out.println("I am not a man.");

}

}public voidrun(){

System.out.println("我是雄狮一样强壮的男人.");

}

}

public class Woman extendsHuman {public voidwoman(){if(getSex()=="女"){

System.out.println("I am a woman.");

}else{

System.out.println("I am not a woman.");

}

}

}

public classTestHuman {public static voidmain(String[] agrs){

Man m=newMan();

m.setName("Dave");

m.setAge(28);

m.setSex("男");

m.getInfo();

m.speak();

m.run();

m.man();//隐式转换//上转型对象

Human h=newWoman();

h.setName("Jude");

h.setAge(58);

h.setSex("女");

h.speak();

h.run();

h.getInfo();if(h instanceofWoman){

Woman w=(Woman)h;

w.woman();

}else{

System.out.println("类型不符!");

}

}

}

5、编写一个Animal类,具有属性:种类;具有功能:吃、睡。定义其子类Fish和Dog,定义主类E,在其main方法中分别创建其对象并测试对象的特性。

public classAnimal {privateString zhonglei;privateString name;publicString getZhonglei() {returnzhonglei;

}public voidsetZhonglei(String zhonglei) {this.zhonglei =zhonglei;

}publicString getName() {returnname;

}public voidsetName(String name) {this.name =name;

}public voideat(){

System.out.println("我需要觅食!");

}public voidsleep(){

System.out.println("我需要睡觉!");

}public voidgetInfo(){

System.out.println("我的名字是:"+getName()+" 我的种类是:"+getZhonglei());

}

}

public class Fish extendsAnimal {public voidspeak(){

System.out.println("我是"+getZhonglei());

}public voideat(){

System.out.println("我吃鱼食!");

}

}

public class Dog extendsAnimal{public voidspeak(){

System.out.println("我是"+getZhonglei());

}public voideat(){

System.out.println("我吃狗粮!");

}

}

public classTestAnimal {public static voidmain(String[] args){

Animal a=newFish();

a.setName("Tom");

a.setZhonglei("动物");

a.getInfo();

a.eat();

a.sleep();if(a instanceofFish){

Fish f=(Fish)a;

f.setZhonglei("鱼类");

f.eat();

f.getInfo();

}else{

System.out.println("类型不符!");

}

Dog d= newDog();

d.setName("哮天犬");

d.setZhonglei("哺乳动物");

d.getInfo();

Animal aa=(Dog)d;

aa.eat();

aa.sleep();

}

}

6、按要求编写一个Java应用程序:

(1)定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。

(2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性,和计算体积的方法。

(3)编写一个测试类,对以上两个类进行测试,创建一个长方体,定义其长、宽、高,输出其底面积和体积。

public classJuxing {private doublechang;private doublekuan;public doublegetChang() {returnchang;

}public void setChang(doublechang) {this.chang =chang;

}public doublegetKuan() {returnkuan;

}public void setKuan(doublekuan) {this.kuan =kuan;

}public doublearea(){return chang*kuan;

}

}

public class ChangFangTi extendsJuxing {private doublegao;public doublegetGao() {returngao;

}public void setGao(doublegao) {this.gao =gao;

}public doubletiji(){return area()*gao;

}

}

public classTest {public static voidmain(String[] args){

ChangFangTi a=newChangFangTi();

a.setChang(12);

a.setKuan(10);

a.setGao(5);

System.out.println("长方体的底面积是:"+a.area());

System.out.println("长方体的体积是:"+a.tiji());

}

}

7、编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数wheels和车重weight。小车类Car是Vehicle的子类,其中包含的属性有载人数loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个类都有构造方法和输出相关数据的方法。最后,写一个测试类来测试这些类的功能。

public classVehicle {private intwheels;private doubleweight;public intgetWheels() {returnwheels;

}public void setWheels(intwheels) {this.wheels =wheels;

}public doublegetWeight() {returnweight;

}public void setWeight(doubleweight) {this.weight =weight;

}

Vehicle(){

}

Vehicle(int wheels,doubleweight){this.wheels=wheels;this.weight=weight;

}public voidgetInfo(){

System.out.println("车轮的个数是:"+wheels+" 车重:"+weight);

}

}

public class Car extendsVehicle {private intloader;public intgetLoader() {returnloader;

}public void setLoader(intloader) {this.loader =loader;

}

Car(){

}

Car(int wheels,double weight,intloader){super(wheels,weight);this.loader=loader;

}public voidloader(){if(loader<=6){

System.out.println("这辆车能载"+loader+"人");

}else{

System.out.println("超员了");

}

}

}

public class Truck extendsCar {

Truck(){super();

}private doublepayload;public doublegetPayload() {returnpayload;

}public void setPayload(doublepayload) {this.payload =payload;

}public voidpayload(){if(payload<=1000){

System.out.println("这辆车的载重是"+payload);

}else{

System.out.println("超重了");

}

}

}

public classTestcar {public static voidmain(String[] args){

Car c=new Car(4,600,4);

c.getInfo();

c.loader();

Truck t=newTruck();

t.setLoader(3);

t.setPayload(800);

t.setWeight(1000);

t.setWheels(6);

t.getInfo();

t.loader();

t.payload();

}

}

8、编写一个Shape类,具有属性:周长和面积;定义其子类三角形和矩形,分别具有求周长的方法。定义主类E,在其main方法中创建三角形和矩形类的对象,并赋给Shape类的对象a、b,使用对象a、b来测试其特性。

public classShape {private intbian;private doublezhouchang;private doublemianji;public intgetBian() {returnbian;

}public void setBian(intbian) {this.bian =bian;

}public doublegetZhouchang() {returnzhouchang;

}public void setZhouchang(doublezhouchang) {this.zhouchang =zhouchang;

}public doublegetMianji() {returnmianji;

}public void setMianji(doublemianji) {this.mianji =mianji;

}public voidbian(){

System.out.println("您创建了一个"+bian+"边形!");

}

}

public class San extendsShape{double[] bianchang=new double[3];

San(){

}

San(double a,double b, doublec){

bianchang[0]=a;

bianchang[1]=b;

bianchang[2]=c;

}public voidzhouchang(){if(getBian()==3&&bianchang[0]+bianchang[1]>bianchang[2]&&bianchang[0]-bianchang[1]

sum+=bianchang[i];

System.out.print(" 边长"+(i+1)+"是"+bianchang[i]);

}

System.out.println(" 三角形的周长是:"+sum);

}else{

System.out.println("这不是一个三角形");

}

}

}

public class Juxx extendsShape {double[] bianchang=new double[4];

Juxx(){}

Juxx(double a,double b,double c,doubled){

bianchang[0]=a;

bianchang[1]=b;

bianchang[2]=c;

bianchang[3]=d;

}public voidzhouchang(){if(getBian()==4 && bianchang[0]==bianchang[2]&&bianchang[1]==bianchang[3]){double sum=0;for(int i=0;i

sum+=bianchang[i];

System.out.print(" 边长"+(i+1)+"是"+bianchang[i]);

}

System.out.println(" 矩形的周长是:"+sum);

}else{

System.out.println("这不是一个矩形");

}

}

}

public classTestE {public static voidmain(String[] args){

Shape s=newShape();

s.setBian(5);

s.bian();

San sa=new San(3,4,5);

sa.setBian(3);

sa.zhouchang();

Juxx ju=new Juxx(3,4,3,4);

ju.setBian(4);

ju.zhouchang();

}

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/984458.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号