java 接口和抽象类
2016-07-25 14:17
459 查看
抽象类:
在面向对象的领域一切都是对象,所有的对象都是通过类来描述的。如果我们要定义的一个类没有足够的信息来描述一个具体的对象,还需要其他的具体类来支持,这个时候我们可以考虑使用抽象类。在类定义的前面增加abstract关键字,就表明一个类是抽象类。
抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。
接口:
与抽象类类似的一个重要概念是接口。接口(Interface)是一组抽象方法的集合。接口中定义的方法没有方法体,它们以分号结束。
接口也和抽象类一样,无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。编写接口和编写类的方式是大体上是类似的,一个接口可以有多个方法,代码保存在以接口命名且以.java结尾的文件中。接口使用interface关键字进行定义。
接口的好处:
1、在业务逻辑设计的时候,可以只关注逻辑,不去写具体实现。等到接口写完后,你完全可以把具体实现交给其他人做,其他人按照你的业务逻辑就能完成。
2、当知道一件事肯定要多次被做,但是每次做的方法都不一样的时候,你可以写个接口,相当于声明了这个方法,但是具体实现可以等用的时候再写,这样可以使代码更加简洁明了。
抽象类的好处:
1、把有共同代码的子类概括起来做一个基类,不同的地方用抽象类来代替,相同的地方基类就帮你具体实现了,节约了代码
区别:
接口更加零散,他专注于概括不同的事情,方法。抽象类更加像一个基类,为不同的子类做一个总的规范。
![](http://img.blog.csdn.net/20160725141922294?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](http://img.blog.csdn.net/20160725141935998?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
在数据库查询的方法中,针对sql语句查出数据后的不同操作,采用了接口来代替,特别的好
因为这样一个方法,就可以代替所有的数据库查询+数据处理的方法,一法多用
接口有两种使用方法:
1、直接用接口来代替方法,使用该方法时再实现接口
2、让已知的类实现接口,然后把该类作为参数传入方法,该方法可以获取这个类的接口对象,然后实现你在类里写的接口方法
两种区别是第一种是方法使用的同时才实现接口方法,第二种是在方法使用前就已经在具体类里实现了接口方法
在面向对象的领域一切都是对象,所有的对象都是通过类来描述的。如果我们要定义的一个类没有足够的信息来描述一个具体的对象,还需要其他的具体类来支持,这个时候我们可以考虑使用抽象类。在类定义的前面增加abstract关键字,就表明一个类是抽象类。
抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。
接口:
与抽象类类似的一个重要概念是接口。接口(Interface)是一组抽象方法的集合。接口中定义的方法没有方法体,它们以分号结束。
接口也和抽象类一样,无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。编写接口和编写类的方式是大体上是类似的,一个接口可以有多个方法,代码保存在以接口命名且以.java结尾的文件中。接口使用interface关键字进行定义。
接口的好处:
1、在业务逻辑设计的时候,可以只关注逻辑,不去写具体实现。等到接口写完后,你完全可以把具体实现交给其他人做,其他人按照你的业务逻辑就能完成。
2、当知道一件事肯定要多次被做,但是每次做的方法都不一样的时候,你可以写个接口,相当于声明了这个方法,但是具体实现可以等用的时候再写,这样可以使代码更加简洁明了。
抽象类的好处:
1、把有共同代码的子类概括起来做一个基类,不同的地方用抽象类来代替,相同的地方基类就帮你具体实现了,节约了代码
区别:
接口更加零散,他专注于概括不同的事情,方法。抽象类更加像一个基类,为不同的子类做一个总的规范。
在数据库查询的方法中,针对sql语句查出数据后的不同操作,采用了接口来代替,特别的好
因为这样一个方法,就可以代替所有的数据库查询+数据处理的方法,一法多用
接口有两种使用方法:
1、直接用接口来代替方法,使用该方法时再实现接口
2、让已知的类实现接口,然后把该类作为参数传入方法,该方法可以获取这个类的接口对象,然后实现你在类里写的接口方法
两种区别是第一种是方法使用的同时才实现接口方法,第二种是在方法使用前就已经在具体类里实现了接口方法
相关文章推荐
- 正确、安全地停止SpringBoot应用
- java爬虫简单实现
- spring配置介绍
- Eclipse配置SVN
- java jdom 将xml转map
- JAVA Collections--Vectors
- 设计模式学习--策略模式
- Java enum的用法详解
- java考试错题知识点
- Java Tool
- StuQ 技能图谱(全套13张)
- Struts 和 frame 搭配,跳转到指定的位置
- eclipse报 Unsupported major.minor version 52.0错解决办法
- java.lang.ClassNotFoundException: javax.el.StaticFieldELResolver
- Struts2学习(一)
- Java提高篇——通过分析 JDK 源代码研究 Hash 存储机制
- Scanner类中的nextLine()产生的换行符问题
- java中的内部内总结
- Description Resource Path Location Type Java compiler level does not match the version of the instal
- Struts2约定优于配置