java abstract class vs interface
来源:互联网 发布:plsql连接其他数据库 编辑:程序博客网 时间:2024/06/05 11:12
原文
Java接口的方法是隐式抽象的,不能实现。
Java抽象类可以具有实现默认行为的实例方法。
Java接口中声明的变量是默认的final。
Java类可以实现多个接口,但它只能扩展一个抽象类。
例子:
public interface LoginAuth{ public String encryptPassword(String pass); public void checkDBforUser();}
现在假设你的应用程序中有3个数据库。 那么该数据库的每个实现都需要定义上述2种方法:public class DBMySQL implements LoginAuth{ // Needs to implement both methods}public class DBOracle implements LoginAuth{ // Needs to implement both methods}public class DBAbc implements LoginAuth{ // Needs to implement both methods}
但是如果encryptPassword()不是依赖于数据库的,而且每个类都是一样的呢? 那么以上就不是一个好办法。相反,请考虑这种方法:
public abstract class LoginAuth{ public String encryptPassword(String pass){ // Implement the same default behavior here // that is shared by all subclasses. } // Each subclass needs to provide their own implementation of this only: public abstract void checkDBforUser();}
现在在每个子类中,我们只需要实现一个方法 - 数据库依赖的方法。阅读全文
0 0
- java interface vs abstract class
- Java abstract class vs interface
- java abstract class vs interface
- abstract class VS. interface
- interface vs abstract class
- interface vs abstract class
- Abstract class VS Interface
- abstract class VS interface
- Abstract class VS Interface
- interface VS abstract class in java
- Abstract class VS Interface 转载
- abstract class VS interface[转]
- 【转】Abstract class vs interface
- Java Interface & Abstract Class
- Java Interface & Abstract Class
- Java Interface & Abstract Class
- java abstract vs interface
- java interface VS abstract
- 使用防抖动(debounce)优化页面滚动
- Python: PS 图像调整--颜色梯度
- netdiscover
- 页面预加载loading动画,再载入内容
- 【如何快速的开发一个完整的iOS直播app】(采集篇)
- java abstract class vs interface
- 布隆过滤器 Bloom filter
- Struts2_Action中result的各种转发类型
- java基础练习
- ActiveMQ中Consumer特征详解与优化
- Mysql Innodb_buffer_pool状态参数详解
- 手机端给父元素绑定了长按事件,但是子元素的点击事件不被触发的解决方法——事件委托
- 使用PowerShell脚本更新数据库
- 集合框架