5-3的问题

5-3的问题

老师好,我的问题是:

1、在接口类的方法里,为什么接口中的抽象方法可以不写abstract关键字?
2、接口类里的抽象方法如void network(),为什么系统会默认给此方法添加访问修饰符public?
3、既然接口类的方法都是抽象方法,那么接口类是抽象类吗?如果是,为什么public interface INet{}没有写成public abstract interface INet{},省去了abstract?
4、接口类定义了一个方法,实现类用abstract修饰不必继承接口类的方法,老师,如果有一个类是实现类的子类,那么还需要继承实现类之前的接口类的那个方法吗?
6、有一个类不想实现接口中的所有抽象方法,需要将该类设置为抽象类,我理解。但是,老师可以直接别让此类跟接口类产生关系,不要去写implements ***(接口名)不就行了,非要把自己变成抽象类,感觉多此一举。

正在回答

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

2回答

同学你好

1、这里建议同学将接口和抽象类分开理解。

“接口不是类,而是对类的一组需求描述。”出自书《Java核心技术 卷1》的214页。

2、同学理解正确。

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

  • 鱼儿0001 提问者 #1
    谢谢老师!
    2019-05-24 14:17:28
好帮手慕珊 2019-05-19 17:20:20

你好!分别回答你的问题:

1、因为接口中的方法默认就是抽象的,所以不用写abstract关键字

2、这个也没有为什么,java就是这么设计的,这样也可以减少代码量,想象一下如果接口中有10个方法,每个都要写上public是不是也很麻烦。

3、接口不是抽象类,虽然它跟抽象类很像,但也不是,是两个概念,所以分别当做两个概念去记忆

4、如果一个类是接口实现类的子类,只要按照父子类的关系,对比子类和父类就可以了。如果实现类没有实现接口的全部方法,那么肯定是抽象类,子类继承抽象类,肯定要实现里面的抽象方法,否则子类也要是抽象类

5、在很多需求中,是需要类和接口产生关联的,所以它是有适用场景的,先记住语法规则就可以了。

祝学习愉快!

  • 提问者 鱼儿0001 #1
    老师,1、你说接口类不是抽象类,这是两码事。但是,另一位老师告诉一位学员说:接口是一种特殊的抽象类。老师,我到底该听谁的?2、接口写有抽象方法,实现类将自己抽象化了不必重写接口的抽象方法,实现类的子类必须重写实现类的抽象方法(就是继承自接口类的抽象方法),老师我的理解对吗?
    2019-05-23 15:32:31
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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