接口

接口既是一种约定,又是一种能力(接口不关心结果)

接口:接口就是一组功能(能力/规范)

如图,接口里只能写抽象方法,且默认权限修饰符为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");
}
}