1.实现如下类之间的继承关系,并编写Music类来测试这些类。
package workhome0922休息; public class People { protected double height; protected double weight; public double getHeight() { return height; } public void setHeight(double height) { this.height = height; } public double getWeight() { return weight; } public void setWeight(double weight) { this.weight = weight; } //方法 public void speakHello() { System.out.print("我是一个人"+" "); } public void averageHeight() { System.out.print("我有身高"+" "); } public void averageWeight() { System.out.println("我有体重"+" "); } } package workhome0922休息; public class ChinaPeople extends People { public void speakHello() { System.out.print("中国人"+" "); } public double averageHeight(double height) { // return height; this.height=height;//为什么要把height赋给父类的height?????? return this.height; } public double averageWeight(double weight) { this.weight=weight; return this.weight; } public void chinaGongFu() { System.out.println("中国功夫"+"太极拳"); } } package workhome0922休息; public class AmericanPeople extends People { public void speakHello() { System.out.print("美国人"); } public double averageHeight(double height) { this.height=height; return this.height; } public double averageWeight(double weight) { this.weight=weight; return this.weight; } public void americanBoxing() { System.out.println("美国功夫:"+"直拳"); } } package workhome0922休息; public class Peopletest { public static void main(String[] args) { //实例化人 People p=new People(); p.speakHello(); p.averageHeight(); p.averageWeight(); //实例化中国人 ChinaPeople c=new ChinaPeople(); c.speakHello(); System.out.print(""+"身高:"+c.averageHeight(171.2)); System.out.print(" "+"体重:"+c.averageWeight(125)+" "); c.chinaGongFu(); //实例化美国人 AmericanPeople a=new AmericanPeople(); a.speakHello(); System.out.print(" "+"身高:"+a.averageHeight(180)); System.out.print(" "+"体重:"+a.averageWeight(160)+" "); a.americanBoxing(); } }
2.创建如下三个类:(People类中的三个方法分别输出一些信息,ChinaPeople
和AmericanPeople类重写父类的三个方法)。
package workhome0922休息; public class Instrument { //方法-输出:弹奏乐器 public void play() { System.out.println("弹奏乐器"); } } package workhome0922休息; public class Wind extends Instrument { //方法1-输出:弹奏Wind public void play() { System.out.println("弹奏Wind"); } //方法2-输出:调用Wind的play2 public void play2() { System.out.println("调用Wind的play2"); } } package workhome0922休息; public class Brass extends Instrument { //方法1-输出:弹奏brass public void play() { System.out.println("弹奏brass"); } //方法2-输出:调用brass的play2 public void play2() { System.out.println("调用brass的play2"); } } package workhome0922休息; public class Music { //调用对象i的play方法 public static void tune(Instrument i) { i.play(); } public static void main(String[] args) { Wind w=new Wind(); Music.tune(w); w.play2(); Brass b=new Brass(); Music.tune(b); } }
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个类的功能。
package workhome2; public class Monkey { //构造方法 Monkey(String s) { super(); System.out.println(s+1); } Monkey(int ss) { System.out.println(ss); } //方法 public void speak() { System.out.println("咿咿呀呀......"); } } package workhome2; public class People extends Monkey { //继承构造方法 public People(String s) { super(s); System.out.println(s+10); } //重写父类方法speak public void speak() { System.out.println("小样的,不错嘛!会说话了"); } //新增方法 public void think() { System.out.println("别说话!认真思考!"); } } package workhome2; public class E { public static void main(String[] args) { //创建Monkey对象 Monkey m=new Monkey("10"); m.speak(); //创建People对象 People p=new People("10"); p.speak(); p.think(); } }
4.定义类Human,具有若干属性和功能;定义其子类Man、Woman;
在主类Test中分别创建子类、父类和上转型对象,并测试其特性。
package workhome3; public class Human { //人的属性 public String leg; public String foot; public String getLeg() { return leg; } public void setLeg(String leg) { this.leg = leg; } public String getFoot() { return foot; } public void setFoot(String foot) { this.foot = foot; } //人的方法 public void run() { System.out.println("可以跑"); } public void jump() { System.out.println("可以跳"); } public int Int(int a) { a=a+1; return a; } } package workhome3; public class Man extends Human { //男人的方法 public void run() { System.out.println("可以跑快"); } public void jump() { System.out.println("可以跳高"); } public void eat() { System.out.println("吃饭睡觉打豆豆"); } } package workhome3; public class Woman extends Human { //女人的方法 public void run() { System.out.println("可以跑慢"); } public void jump() { System.out.println("可以跳矮"); } } package workhome3; public class humantest { public static void main(String[] args) { //向上转型 Human h1=new Man(); h1.setFoot("人有两条腿"); System.out.println(h1.getFoot()); h1.run(); System.out.println(h1.Int(10)); //向下转型 Man m1=(Man)h1; m1.setFoot("男人有两条比女人长的腿"); System.out.println(m1.getFoot()); m1.jump(); System.out.println(m1.Int(10)); m1.eat(); } }
6.按要求编写一个Java应用程序:
(1)定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。
(2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性,和计算体积的方法。
(3)编写一个测试类,对以上两个类进行测试,创建一个长方体,定义其长、宽、高,输出其底面积和体积。
package workhome4; public class jivxing { // 包含有长、宽两种属性,和计算面积方法。 private double chang; private double kuan; public double getChang() { return chang; } public void setChang(double chang) { this.chang = chang; } public double getKuan() { return kuan; } public void setKuan(double kuan) { this.kuan = kuan; } //方法 public double mianji(double chang,double kuan) { this.chang=chang; this.kuan =kuan; return this.chang*this.kuan; } } package workhome4; public class jivxing2 extends jivxing { private double gao; public double getGao() { return gao; } public void setGao(double gao) { this.gao = gao; } public double tiji(double chang,double kuan,double gao) { this.gao=gao; return super.mianji(chang, kuan)*this.gao; } } package workhome4; public class test { public static void main(String[] args) { // TODO Auto-generated method stub jivxing2 j=new jivxing2(); System.out.println(j.mianji(1, 2)); System.out.println(j.tiji(1, 2, 3)); } }
7.
编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数
wheels和车重weight。小车类Car是Vehicle的子类,其中包含的属性有载人数
loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个
类都有构造方法和输出相关数据的方法。最后,写一个测试类来测试这些类的功
能。
package workhome4; public class Vehicle { //wheels和车重weight private int wheel;//轮胎数量 private double weight;//车重 public int getWheel() { return wheel; } public void setWheel(int wheel) { this.wheel = wheel; } public double getWeight() { return weight; } public void setWeight(double weight) { this.weight = weight; } //构造方法 public Vehicle(int wheel,double weight) { super(); this.wheel=wheel; this.weight=weight; } //方法 public void vv() { System.out.print("轮胎数:"+this.wheel+" "+"车重:"+this.weight+" "); } } package workhome4; public class Car extends Vehicle { private int loader;//载人数 public int getLoader() { return loader; } public void setLoader(int loader) { this.loader = loader; } public Car(int wheel,double weight,int loader) { super(wheel,weight); this.loader=loader; } //方法 public void cc() { System.out.println(); super.vv(); System.out.print("和载人数"+this.loader+" "); } } package workhome4; public class Truck extends Car { private double payload;//载重量 public double getPayload() { return payload; } public void setPayload(double payload) { this.payload = payload; } public Truck(int wheel, double weight, int loader, double payload) { super(wheel, weight, loader); this.payload=payload; } //方法 public void tt() { super.cc(); System.out.println("载重量"+this.payload+" "); } } package workhome4; public class cartest { public static void main(String[] args) { Vehicle v=new Vehicle(4,99999); v.vv(); Car c=new Car(4,888888,3); c.cc(); Truck t=new Truck(4,777777,6,90000.888); t.tt(); } }
8.编写一个Shape类,具有属性:周长和面积;
定义其子类三角形和矩形,分别具有求周长的方法。
定义主类E,在其main方法中创建三角形和矩形类的对象,
并赋给Shape类的对象a、b,使用对象a、b来测试其特性。
package workhome5; public interface Shape { public abstract void zc(int a,int b,int c); public abstract void mj(int a,int b,int c); } package workhome5; public class sanjiaoxing implements Shape { @Override public void zc(int a,int b,int c) { // TODO Auto-generated method stub System.out.println("三角形的周长为:"+(a+b+c)); } @Override public void mj(int a,int b,int c) { // TODO Auto-generated method stub System.out.println("三角形的面积为:"+a*b/2); } } package workhome5; public class jvxing implements Shape { @Override public void zc(int a, int b,int c) { // TODO Auto-generated method stub System.out.println("矩形的周长为:"+(a+b)*2); } @Override public void mj(int a, int b, int c) { // TODO Auto-generated method stub System.out.println("矩形的面积为:"+2*(a+b)); } } package workhome5; public class cheng { private Shape i; public Shape getI() { return i; } public void setI(Shape i) { this.i = i; } public void getit() { i.mj(3, 2, 1); i.zc(3, 2, 1); } } package workhome5; public class test { public static void main(String[] args) { // TODO Auto-generated method stub cheng v=new cheng(); sanjiaoxing a=new sanjiaoxing(); v.setI(a); v.getit(); jvxing b=new jvxing(); v.setI(b); v.getit(); } }
9.
package jiekouhomework; public interface ShapePara { // nt getArea():获得图形的面积。int getCircumference():获得图形的周长 public abstract double getArea(); public abstract double getCircumference(); } package jiekouhomework; public class Circle implements ShapePara { // adius:public 修饰的double类型radius,表示圆的半径。 // x:private修饰的double型变量x,表示圆心的横坐标。 // y:protected修饰的double型变量y,表示圆心的纵坐标。 public double radius; private double x; protected double y; double PI=3.14; public double getRadius() { return radius; } public void setRadius(double radius) { this.radius = radius; } // public double getX() { // return x; // } // // public void setX(double x) { // this.x = x; // } // // public double getY() { // return y; // } // public void setY(double y) { // this.y = y; // } //构造方法 Circle(double radius) { this.radius=radius; } //方法 public void setCenter(double x, double y) { this.x=x; this.y=y; } @Override public double getArea() { // TODO Auto-generated method stub // System.out.println(PI*radius*radius); return PI*this.radius*this.radius; } @Override public double getCircumference() { // TODO Auto-generated method stub // System.out.println(2*PI*this.radius); return 2*PI*this.radius; } package jiekouhomework; public class jiehe { private ShapePara s; public ShapePara getS() { return s; } public void setS(ShapePara s) { this.s = s; } public void ceshi() { s.getArea(); s.getCircumference(); } } package jiekouhomework; public class test { public static void main(String[] args) { // TODO Auto-generated method stub jiehe ss=new jiehe(); Circle cc=new Circle(7); ss.setS(cc);
System.out.println(cc.getArea());
System.out.println(cc.getCircumference());
} }