继承抽象类及接口时的问题

继承抽象类及接口时的问题

Animal抽象类

public abstract class Animal {
	private String name;
	private int age;

	public abstract String love();

	public Animal() {

	}

	public Animal(String name, int age) {
		this.setName(name);
		this.setAge(age);
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

}

IAct接口

public interface IAct {
	 public String skill();
	 public String act();

}

Bear类

public Bear() {
		// TODO 自动生成的构造函数存根
	}

	public Bear(String name, int age) {
		this.setName(name);
		this.setAge(age);
	}

	@Override
	public String skill() {
		// TODO 自动生成的方法存根
		return "走秀";
	}

	@Override
	public String act() {
		// TODO 自动生成的方法存根
		return "  ";
	}

	@Override
	public String love() {
		// TODO 自动生成的方法存根
		return "卖萌";
	}

}

bear类中报错有:

  1. 带参构造方法中两个set方法报错,说未给bear类定义该方法,但是父类的set方法应该继承过来啊?

  2. skill()和act()方法报错必须覆盖实现超类型方法

  3. love()方法必须覆盖或实现超类型方法,给出的修改是抽象类中加上skill和act方法,接口中加上love方法

这几个报错我都不太懂。。。

正在回答

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

2回答

同学你好,那可能是因为昨天编写完后没有保存哦~

编写完代码,保存之后再进行运行呢~

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

  • hblack 提问者 #1
    玄学Bug (′д` )
    2019-06-28 11:37:25
吃吃吃鱼的猫 2019-06-28 11:06:35

同学你好,

所有问题的原因是因为:Bear类需要继承Animal类,实现IAct接口。

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


没有继承Animal类时,Bear类中没有name,age的属性,所以使用name,age的带参构造方法会报错。


没有实现IAct接口时,Bear类中没有skill,act方法,所以添加@Override重写的注解后会报错。


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

  • 提问者 hblack #1
    我少复制了一行。。。Bear类继承父类实现接口的代码是有的,不过刚打开Eclipse看又不报错了,昨晚看了好久也没发现问题就没管了,放了一晚上自己好了=_=
    2019-06-28 11:10:45
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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