您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Java 如何解释接口和抽象类之间的区别?

Java 如何解释接口和抽象类之间的区别?

我先给你一个例子:

public interface LoginAuth{
   public String encryptPassword(String pass);
   public void checkDBforUser();
}

假设你的应用程序中有3个数据库。然后,该数据库的每个实现都需要定义以上两种方法

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();
}

现在,在每个子类中,我们只需要实现一个方法-该方法依赖于数据库

java 2022/1/1 18:15:58 有595人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶