为什么会这样?

为什么会这样?

//创建接口
public interface IFly {
//创建抽象方法
	void fly();//省略了abstract
}
//气球类
public class Balloon implements IFly{

	@Override
	public void fly() {
		// TODO 自动生成的方法存根
		System.out.println("气球飞上天空");
	}

}
//鸟类
public class Bird implements IFly {

	public void fly() {
		System.out.println("小鸟在天空翱翔");
	}

}
//飞机类
public class Plane implements IFly {

	
	public void fly() {
		System.out.println("飞机在天上飞");
	}

}
//测试类
import comimooc.jiekou.Balloon;
import comimooc.jiekou.Bird;
import comimooc.jiekou.Plane;

public class TestJieKou {

	public static void main(String[] args) {
		Plane one=new Plane();
		one.fly();
		Bird two=new Bird();
		two.fly();
		Balloon three=new Balloon();
		three.fly();
	}

}
这样写对吗?  还有就是气球类为什么可以重写接口当中的fly()方法,而鸟类和飞机类需要自己写fly()的方法呢?


正在回答 回答被采纳积分+1

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

2回答
吃吃吃鱼的猫 2019-05-26 10:30:36

同学你好,如下图所示:

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

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

鸟类,飞机类重写fly方法,添加@override注解都不会报错哦~

如果同学有报错的话,建议同学贴出报错信息,方便老师为同学解答~

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


好帮手慕小班 2019-05-25 18:34:55

同学你好,1、首先复制运行同学的代码没有问题,运行效果完全正确,代码没有问题哦!

2、 气球类、鸟类和飞机类都要重写接口当中的fly()方法哦,实现接口IFly,就是实现接口中的fly方法哦!例如:

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

实现了接口都是要重写接口中的抽象方法哦!

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

  • 提问者 慕田峪1061482 #1
    为什么气球类重写了接口的方法@override可以使用不报错,而鸟类和飞机类@override则报错不能用?
    2019-05-25 19:48:35
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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