JAVA-继承

//创建父类(基类)

public class Music {


//定义属性
public String name;
public String Occupation;
//构造不带参数的函数
public Music() {

}

//构造带参数的函数

public Music(String name,String Occupation) {
this.name =name;
this.Occupation=Occupation;

}

//父类的方法

public void play() {
System.out.println("音乐家开始演奏");
}

}


//子类(派生类)

public class Piano extends Music {

//构造自己的构造函数(也可以不写,会继承父类)
public Piano() {

}
public Piano(String name,String Occupation) {
super(name,Occupation);
}

//重写父类的方法
public void play() {
System.out.println("演奏棋魂");
}


}

//B子类

public class Violin extends Music  {


public Violin() {

}
public Violin(String name,String Occupation) {
super(name,Occupation);
}
public void play() {
System.out.println(" D大调小提琴协奏曲");
}
}



//管理类

public class Ren {

//定义自己的属性
public String name;
public String Occupation;
//定义构造函数
public Ren() {

}
public Ren(String name,String Occupation) {
this.name =name;
this.Occupation=Occupation;
}

//构建自己的方法,同时调用父类(Music)的方法
public void playmusic(Music mu) {
System.out.println(this.name+","+this.Occupation);

//因为父类的方法被重写,所以调用派生类重写后的方法
mu.play();
}



}


//测试类

public class MUsicTest {


public static void main(String[] args) {

//用管理类创建对象
Ren MA=new Ren("玛尔塔·阿格里奇","钢琴演奏家");
Ren BDF=new Ren("贝多芬","小提琴演奏家");

//调用管理类的方法,同时调用子类的方法
MA.playmusic(new Piano());

BDF.playmusic(new Violin());


}
}

//运行结果

玛尔塔·阿格里奇,钢琴演奏家
演奏棋魂
贝多芬,小提琴演奏家
 D大调小提琴协奏曲





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值