实验内容:
(1)请编程实现如下需求:乐器(Instrument)分为:钢琴(Piano)、小提琴(Violin)、大提琴(Cello),三种乐器的弹奏play()方法各不相同。编写一个测试类InstrumentTest,要求编写方法testPlay(Instrument in),对这三种乐器进行弹奏测试。要依据乐器的不同,进行相应的弹奏测试,在main()方法中进行测试。
class Piano extends Instrument{
public void play(){
System.out.println("钢琴演奏");
}
}
class Violin extends Instrument{
public void play(){
System.out.println("小提琴演奏");
}
}
class Cello extends Instrument{
public void play(){
System.out.println("大提琴演奏");
}
}
class Instrument{
public void play(){
System.out.println("Instrument");
}
}
public class InstrumentTest {
public static void main(String[] args){
Instrument Instrument1=new Piano();
Instrument1.play();
Instrument Instrument2=new Violin();
Instrument2.play();
Instrument Instrument3=new Cello();
Instrument3.play();
}
}
程序设计思路:
定义一个父类,三个子类继承父类,对父类中play方法进行重写。用到方法重写。
(2)定义Mother类及其属性(身高、体重、年龄)和方法(工作、做家务);定义Daughter类继承Mother类,并增加一些属性(爱好)和方法(看动画片)。定义一个类UseExtends,在该类的main方法中创建一个名为daughter的对象,使用Mother类和Daughter类的属性和方法进行测试。
class Mother{
int height;
double weight;
int age;
public void work(){
System.out.println("妈妈正在工作");
}
public void housework(){
System.out.println("妈妈正在做家务");
}
}
class Daughter extends Mother{
String hobby;
public void like(){
System.out.println("我喜欢看动画片");
}
}
public class UseExtends {
public static void main(String[] args){
System.out.println("测试继承类(女儿)");
Daughter daughter=new Daughter();
daughter.hobby="跳舞";
System.out.println("女儿的爱好是:"+daughter.hobby);
daughter.like();
daughter.age=20;
daughter.height=150;
daughter.weight=100;
System.out.println("我的年龄是:"+daughter.age+'\n'+"我的身高是:"+daughter.height+'\n'+"我的体重是:"+daughter.weight);
System.out.println("测试父类(妈妈):");
daughter.work();
daughter.housework();
}
}
程序设计思路:
定义父类,子类继承父类并增加属性和方法。
(3)定义一个交通工具类Vehicle,包含属性(speed, name, color)和方法(start, stop, run);再定义一个飞行器子类Aircraft继承自Vehicle类。然后从Aircraft类派生两个子类:航天飞机(SpaceShuttle)和喷气式飞机(Jet)。
package java_experiment_four;
class Aircraft extends Vehicle{
public void state() {
System.out.println("飞行类交通工具");
}
}
class SpaceShuttle extends Aircraft{
public void state() {
System.out.println("飞行类交通工具中的航天飞机");
}
}
class Jet extends Aircraft{
public void state() {
System.out.println("飞行类交通工具中的喷气式 飞机");
}
}
public class Vehicle {
public int speed;
public String name;
public String color;
public void start(){
System.out.println("起步");
}
public void stop(){
System.out.println("停止");
}
public void run(){
System.out.println("加速");
}
public static void main(String[] args) {
Aircraft Aircraft1=new Aircraft();
Aircraft Aircraft2=new Aircraft();
Aircraft Aircraft3=new SpaceShuttle();
Aircraft Aircraft4=new Jet();
Aircraft1.start();
Aircraft1.run();
Aircraft2.stop();
Aircraft1.state();
Aircraft3.state();
Aircraft4.state();
}
}
程序设计思路:
定义类Vehicle,Aircraft继承Vehicle类,航天飞机(SpaceShuttle)和喷气式飞机(Jet)再继承Aircraft类。
类名大写