实现如下类之间的继承关系,并编写Music类来测试这些类。
package zuoye;
//乐器
public class Instrument {
//属性
private String name;//乐器的名字
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
//构造方法
public Instrument(String name) {
super();
this.name = name;
}
public Instrument() {
super();
}
public void play()
{
System.out.println("弹奏乐器");
}
}
package zuoye;
public class Wind extends Instrument
//没有为缺省构造函数定义隐式超构造函数 Instrument()。必须定义显式构造函数
//必须在 Instrument中构造无参无返回值的构造方法,否则会出现上面情况
{
//重写
public void play()
{
System.out.println("弹奏wind");
}
public void play2()
{
System.out.println("调用wind的play2");
}
}
package zuoye;
public class Brass extends Instrument
{
public void play()
{
System.out.println("弹奏brass");
}
public void play2()
{
System.out.println("调用brass的play2");
}
}
package zuoye;
public class Music {
public static void main(String[] args)
{
Instrument a=new Instrument();
tune(a);
Wind w=new Wind();
Brass b=new Brass();
w.play();
w.play2();
b.play();
b.play2();
}
public static void tune (Instrument i)
{
i.setName("吉他");
i.play();
System.out.println(i.getName());
}
}
19.创建如下三个类:(People类中的三个方法分别输出一些信息,ChinaPeople
和AmericanPeople类重写父类的三个方法)。
package zuoye2;
public class People
{
protected double height;
protected double weight;
private String guojia;
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 String getGuojia() {
return guojia;
}
public void setGuojia(String guojia) {
this.guojia = guojia;
}
public People() {
super();
}
public People(double height, double weight) {
super();
this.height = height;
this.weight = weight;
}
public void speackHello()
{
System.out.println("Hello");
}
public void averageHeight()
{
System.out.println("平均身高是:");
}
public void averageweight()
{
System.out.println("平均体重是:");
}
}
package zuoye2;
public class ChinaPeople extends People {
public void chinaGongfu()
{
System.out.println("坐如钟,站如松,行如风,睡如弓");
}
public void speackHello()
{
System.out.println("你好");
}
}
package zuoye2;
public class AmericanPeople extends People {
public void americanBoxing()
{
System.out.println("直拳,勾拳");
}
}
package zuoye2;
public class Ceshi_people {
public static void main(String[] args) {
ChinaPeople c=new ChinaPeople();
c.setHeight(180.0);
c.setWeight(70.0);
c.setGuojia("中国");
c.speackHello();
System.out.println(c.getGuojia());
c.averageHeight();System.out.println(c.getHeight());
c.chinaGongfu();
System.out.println("");
AmericanPeople a=new AmericanPeople();
a.setHeight(175.0);
a.setWeight(80.0);
a.setGuojia("美国佬");
a.speackHello();
System.out.println(a.getGuojia());
a.averageHeight();
System.out.println(a.getHeight());
a.averageweight();
System.out.println(a.getWeight());
a.americanBoxing();
}
}
21.编写一个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 zuoye3;
public class Peopl extends Monkey {
public void speak()
{
System.out.println("小样的,不错嘛!会说话了!!");
}
void think()
{
System.out.println("别说话!认真思考!");
}
}
package zuoye3;
public class Monkey {
//属性
private String s;
public String getS() {
return s;
}
public void setS(String s) {
this.s = s;
}
//构造方法
public Monkey() {
super();
}
public Monkey(String s)
{
super();
this.s=s;
}
public void speak()
{
System.out.println("咿咿呀呀。。。。");
}
}
package zuoye3;
public class E {
public static void main(String[] args) {
Monkey m1=new Monkey("猴子");
System.out.println(m1.getS());
m1.speak();
Peopl p=new Peopl();
p.setS("人类");
System.out.println(p.getS());
p.speak();
p.think();
}
}