接口
接口既是一种约定,又是一种能力(接口不关心结果)
接口:接口就是一组功能(能力/规范)
如图,接口里只能写抽象方法,且默认权限修饰符为public。
接口里所有的变量都是公开的静态的常量。
一般在程序中 我们都是通过接口来扩展功能的
什么时候使用接口 什么时候使用抽象类?
如果一个抽象类中 所有的方法 都是抽象方法 所有的变量都是静态常量 那么这个抽象类可以直接改成接口
下面来写一个案例来演示接口:
public interface UserDao {//默认是常量
int num=10; //相当于: public static final int NUM=10;
/**
* 登录
* @param uname 用户名
* @param pwd 密码
* @return true 登录成功 false 登录失败
*/
boolean login(String uname,String pwd);
}
-----------------------------------------------------------
public class UserMysqlDao implements UserDao {
public boolean login(String uname, String pwd) {
System.out.println("正在对mysql实现登录");
return false;
}
}
------------------------------------------------------------
public class UserOracleDao implements UserDao {
public boolean login(String uname, String pwd) {
System.out.println("在oracle中实现登录.....");
return false;
}
}
------------------------------------------------------
public class UserSqlServerDao implements UserDao {
public boolean login(String uname, String pwd) {
System.out.println("在sqlserver中实现登录");
return false;
}
}
---------------------------------------------------------
public class Test {
public static void main(String[] args) {
//左边 接口/父类 对象名=new 具体的子类();
UserDao userDao=new UserSqlServerDao();
userDao.login("admin", "admin");
}
}