5-3的问题
老师好,我的问题是:
1、在接口类的方法里,为什么接口中的抽象方法可以不写abstract关键字?
2、接口类里的抽象方法如void network(),为什么系统会默认给此方法添加访问修饰符public?
3、既然接口类的方法都是抽象方法,那么接口类是抽象类吗?如果是,为什么public interface INet{}没有写成public abstract interface INet{},省去了abstract?
4、接口类定义了一个方法,实现类用abstract修饰不必继承接口类的方法,老师,如果有一个类是实现类的子类,那么还需要继承实现类之前的接口类的那个方法吗?
6、有一个类不想实现接口中的所有抽象方法,需要将该类设置为抽象类,我理解。但是,老师可以直接别让此类跟接口类产生关系,不要去写implements ***(接口名)不就行了,非要把自己变成抽象类,感觉多此一举。
正在回答
同学你好
1、这里建议同学将接口和抽象类分开理解。
“接口不是类,而是对类的一组需求描述。”出自书《Java核心技术 卷1》的214页。
2、同学理解正确。
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
你好!分别回答你的问题:
1、因为接口中的方法默认就是抽象的,所以不用写abstract关键字
2、这个也没有为什么,java就是这么设计的,这样也可以减少代码量,想象一下如果接口中有10个方法,每个都要写上public是不是也很麻烦。
3、接口不是抽象类,虽然它跟抽象类很像,但也不是,是两个概念,所以分别当做两个概念去记忆
4、如果一个类是接口实现类的子类,只要按照父子类的关系,对比子类和父类就可以了。如果实现类没有实现接口的全部方法,那么肯定是抽象类,子类继承抽象类,肯定要实现里面的抽象方法,否则子类也要是抽象类
5、在很多需求中,是需要类和接口产生关联的,所以它是有适用场景的,先记住语法规则就可以了。
祝学习愉快!
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星