如何实现 java 接口中的部分方法
2016-07-29 14:09
357 查看
接口和抽象类的区别?为什么需要接口?
1、不同点:接口就是比“抽象类”还“抽象”的“抽象类”,可以更加宽泛的对子类进行约束。全面的实现了:规范和具体实现的分离
在抽象类内可以有具体的方法实现,可以定义变量,但是接口里面只能定义常量和空方法。
相同点:接口和抽象类都不能实例化一个对象,如果一个类要继承一个抽象类或者实现一个接口,则必须实现抽象类(否则必须声明为一个抽象类)或者接口里面的所有方法(当然,如果抽象类里面的所有方法都已经被实现,那么一个子类在继承该类的时候,不必重写这些方法,抽象类里面可以不包含抽象方法)
2、接口就是规范,定义的是一组规则,体现了现实世界中“如果你是...则必须要...”的思想
3、接口的本质的契约,就像是公司的规则一样,制定好了,大家都要遵守,并且接口支持多继承
4、项目的具体要求是多变的,我们必须以不变应万变,此处的“不变”就是规范。所以,我们开发项目都是面向接口编程
有时候,我们想实现一个接口,但是又不想具体的实现(当然,如果一个类不是抽象类,要实现一个接口,那必须要实现该接口里面的所有方法,如果是抽象类,那么不必实现接口里面的每一个方法)该接口里面的所有方法,那么我们可以定义一个类,在该类内实现那个接口里面的所有方法,不过这个类里面的这些方法都是空方法,然后让一个子类继承该类,在有选择性的具体的实现其中的某些方法,达到具体的实现与抽象方法分开的目的
1、不同点:接口就是比“抽象类”还“抽象”的“抽象类”,可以更加宽泛的对子类进行约束。全面的实现了:规范和具体实现的分离
在抽象类内可以有具体的方法实现,可以定义变量,但是接口里面只能定义常量和空方法。
相同点:接口和抽象类都不能实例化一个对象,如果一个类要继承一个抽象类或者实现一个接口,则必须实现抽象类(否则必须声明为一个抽象类)或者接口里面的所有方法(当然,如果抽象类里面的所有方法都已经被实现,那么一个子类在继承该类的时候,不必重写这些方法,抽象类里面可以不包含抽象方法)
2、接口就是规范,定义的是一组规则,体现了现实世界中“如果你是...则必须要...”的思想
3、接口的本质的契约,就像是公司的规则一样,制定好了,大家都要遵守,并且接口支持多继承
4、项目的具体要求是多变的,我们必须以不变应万变,此处的“不变”就是规范。所以,我们开发项目都是面向接口编程
有时候,我们想实现一个接口,但是又不想具体的实现(当然,如果一个类不是抽象类,要实现一个接口,那必须要实现该接口里面的所有方法,如果是抽象类,那么不必实现接口里面的每一个方法)该接口里面的所有方法,那么我们可以定义一个类,在该类内实现那个接口里面的所有方法,不过这个类里面的这些方法都是空方法,然后让一个子类继承该类,在有选择性的具体的实现其中的某些方法,达到具体的实现与抽象方法分开的目的
相关文章推荐
- Java中如何动态创建接口的实现方法
- 如何在Java中实现远程方法调用
- 通过实现Cloneable接口和覆盖clone()方法实现深度克隆,以及如何通过ByteArrayIOStream实现克隆
- Java中接口的定义与实现接口抽象方法
- java接口类型变量能调用已经被实现的这个接口的方法吗
- JAVA中如何用接口实现多继承和多态 (非常好)
- java中的继承问题,类B继承A,那么构造方法需要这样写吗?这不是重复吗?还有接口与抽象类怎么实现?
- java对象通用方法之覆盖equals时请遵守通用约定、覆盖equals时总要覆盖hashCode、始终要覆盖toString、考虑实现Comparable接口
- 如何在Java中实现远程方法调用
- 什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用。
- VC实现java定义的接口的一些方法
- 如何实现Java的接口 推荐
- java 如何调用com组件接口方法
- JAVA_解决实现接口方法重名问题
- Java中使用接口实现多继承和多态的方法
- java中用句柄与封装基础类的方法实现C++中指针的部分效果
- 如何在Java类中定义接口属性并如何使用接口的方法
- java 学习 私有类实现接口 ,一个类继承来的方法和接口实现方法重复第八天
- 如何在Android源码里查找Java中native方法对应的C++实现
- C#中如何实现JAVA中的String.replaceAll()方法功能