请老师帮帮我了

请老师帮帮我了

  说明: 每个表演者的表演信息是通过调用act()方法输出的

不太明白这句话

我用棕熊举个例子,在接口IAct 中有skill方法 和act方法 

在Bear类中implements IAct重写skill 和 act这两个方法

skill方法重写熊能挽着花篮,打着雨伞,自立走秀

然后需要在Act方法里调用Skill方法

最后在main方法里调用Act方法去打印输出挽着花篮,打着雨伞,自立走秀 

是这样吗?

正在回答

登陆购买课程后可参与讨论,去登陆

3回答
package com.imooc.model;
import com.imooc.model.IAct;
import com.imooc.model.Animal;
public class Bear extends Animal implements IAct {
	public Bear() {
		this(null, 0);
	}
	public Bear(String name, int age) {
		super(name, age);
	}
	@Override
	public String skill() {
		String str = "挽着花篮,打着雨伞,自立走秀";
		return str;
	}
	@Override
	public void act() {
		System.out.println("表演者:" + this.getName());
		System.out.println("年龄:" + this.getAge() + "岁");
		System.out.println("技能:" + this.skill());
		System.out.println("爱好:" + this.love());
	}
	@Override
	public String love() {
		String str = "喜欢卖萌";
		return str;
	}
}
你可以参考下,然后act在测试类中可以通过实例对象调用不同实现类中的不同act方法


好帮手慕阿慧 2020-06-11 18:53:04

同学你好,

1、在接口中skill和act方法不需要有方法体。每个表演者的技能不同,需要在各自的类中进行重写,在act方法中调用skill方法。

2、我们可以把每个实现类中的信息都在每个实现类类中的act()方法中调用。例如

名称,年龄等属性,技能,爱好等方法 都可以在重写的act()方法中调用输出。

在测试类中,通过调用对象的act()方法输出表演信息。

以上,对于Animal的子类,在act方法中需要输出对象的属性信息,并调用skill和love方法。

对于Clown类,在act方法中需要输出对象的属性信息,并调用skill和dress方法。

以Clown类为例,参考代码如下:

http://img1.sycdn.imooc.com//climg/5ee20cdf096ddaa006110463.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

好帮手慕阿慧 2020-06-11 17:57:04

同学你好,你的理解是正确的。每个表演者的表演信息应该包含表演者,年龄,技能等信息。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 慕设计7678942 #1
    老师啊 我就是卡在这里了 在接口里 有Skill方法和 Act方法 在接口中Act方法又不能直接调用Skill方法; 请老师给个思路
    2020-06-11 18:27:05
  • Heijyu 回复 提问者 慕设计7678942 #2
    你在实现类bear中重写接口中的act方法,接口中的方法都是抽象方法,都需要在实现类中重写。接口中的方法是不能有方法体的~
    2020-06-11 18:35:38
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师