乐器(Instrument)分为钢琴()和小提琴 各种乐器的弹奏 方法各不相同 编写一个测试类InstrumentTest要求 编写方法testplay,对各种乐器进行弹奏测试,要依据乐器的不同,进

public class InstrumentTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Instrument instrument = new Piano();
		instrument.play();
		Instrument instrument2 = new Violin();
		instrument2.play();
	}
}

 class Instrument {
	public void play()
	{
		System.out.println("Instrument");
	}

}

 class Piano extends Instrument {

	@Override
	public void play() {
		// TODO Auto-generated method stub
//		super.play();
		System.out.println("钢琴演奏");
	}
}

 class Violin extends Instrument {

	@Override
	public void play() {
		// TODO Auto-generated method stub
//		super.play();
		System.out.println("小提琴演奏");
	}

}

https://blog.csdn.net/delclq2567/article/details/101225204?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158496383519725222409475%2522%252C%2522scm%2522%253A%252220140713.130056874..%2522%257D&request_id=158496383519725222409475&biz_id=0&utm_source=distribute.pc_search_result.none-task

static不能声明为静态。。。怎么回事

追答

因为你调用的类不是静态的

追问

这个我弄出来了。
还有个是声明的子类piano.violin.textplay错误提示声明在自己子文件中

 

追答

因为上面这4个类,我是创建了4个class文件。所以每个类可以是公共的。
如果你把4个类写到一个class中,那么只能有一个类是公共的。(你可以把paino这个类的修饰词public去掉就可以了)

 

  • 9
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,以下是使用接口编码实现乐器需求的代码: // 定义乐器接口 interface Instrument { void play(); } // 钢琴实现乐器接口 class Piano implements Instrument { @Override public void play() { System.out.println("弹奏钢琴"); } } // 小提琴实现乐器接口 class Violin implements Instrument { @Override public void play() { System.out.println("弹奏小提琴"); } } // 测试 public class InstrumentTest { public static void main(String[] args) { // 创建钢琴对象并调用play方法 Instrument piano = new Piano(); piano.play(); // 创建小提琴对象并调用play方法 Instrument violin = new Violin(); violin.play(); } } 以上代码中,我们定义了一个乐器接口,包含了一个play方法钢琴小提琴都实现了这个接口,并分别实现了自己的play方法。在测试中,我们创建了钢琴小提琴对象,并调用了它们的play方法。这样就实现了乐器需求。 ### 回答2: 在Java中使用接口实现乐器instrument)的需求可以采用面向对象的思想来完成。首先,乐器instrument可以看做是一个抽象的,它有一个play方法,用于演奏乐器。由于钢琴小提琴不同的演奏方法,因此可以使用接口将其单独实现。具体实现如下: 1. 定义一个instrument接口,该接口包含一个play方法。 ``` public interface Instrument { void play(); } ``` 2. 钢琴Piano实现了Instrument接口并重写了play方法。 ``` public class Piano implements Instrument { public void play() { System.out.println("弹奏钢琴!"); } } ``` 3. 小提琴Violin也实现了Instrument接口并重写了play方法。 ``` public class Violin implements Instrument { public void play() { System.out.println("弹奏小提琴!"); } } ``` 4. 编写一个测试InstrumentTest用于测试。在该中,实例化Piano和Violin对象,并调用它们的play方法。 ``` public class InstrumentTest { public static void main(String[] args) { Instrument instrument1 = new Piano(); Instrument instrument2 = new Violin(); instrument1.play(); instrument2.play(); } } ``` 以上代码实现了乐器instrument分为钢琴(piano)、小提琴(violin),各种乐器弹奏(play方法各不相同的需求。当main方法执行时,输出结果为: ``` 弹奏钢琴弹奏小提琴! ``` 因此,我们应该遵循面向对象的编程思想,将乐器抽象为一个,并通过接口实现各个具体乐器的演奏方法。这既符合代码的可读性和可扩展性,也可以使代码更易于维护和重构。 ### 回答3: 题目需求: - 定义钢琴(piano)和小提琴(violin)乐器 - 钢琴小提琴不同弹奏(play方法 - 编写一个测试instrumenttest),测试钢琴小提琴弹奏方法 思路: 首先,由于钢琴小提琴都是乐器,所以我们可以定义一个乐器instrument)接口,其中包含一个play()方法钢琴小提琴分别实现instrument接口并定义各自的play()方法。 代码如下: ``` public interface instrument { public void play(); } public class piano implements instrument { public void play() { System.out.println("弹奏钢琴"); } } public class violin implements instrument { public void play() { System.out.println("弹奏小提琴"); } } ``` 接下来,我们编写instrumenttest测试钢琴小提琴弹奏方法。在instrumenttest中创建钢琴小提琴的实例,并分别调用它们的play()方法。 代码如下: ``` public class instrumenttest { public static void main(String[] args) { instrument myPiano = new piano(); instrument myViolin = new violin(); myPiano.play(); //弹奏钢琴 myViolin.play(); //弹奏小提琴 } } ``` 运行instrumenttest,输出结果如下: 弹奏钢琴 弹奏小提琴 至此,我们已经完成了钢琴小提琴乐器的定义及测试

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值