接口 interface
1)接口 api 程序接口 app = web前端 + 后端(程序 数据库)api
2)java 编程接口是一种编程规范对象 interface。由于规范团队人员的习惯。
3)声明接口,是一种编程规范,约束程序人员编写类的名字。
一个类可以继承多个接口,但一个类这能有一个父类。
java 8 以前接口只能包括:全局静态常量和抽象方法。
java 8开始接口包括内容如下:
全局静态常量 int i = 3 ;
也是public final static int i =3;
抽象方法 void conn();
是 public abstract void conn();
静态实现方法 static
public static void conn(){
}
使用的时候可以直接通过接口 Db.conn();
默认实现方法 default
public default int pf(int i){
reutrn i*i;
}
使用的时候,通过接口的实现类的对象实例来调用执行。
函数式接口(接口中有且只有一个抽象方法的接口)
使用的时候,是通过lambda表达式使用
下面编写个简单的例子来实现接口。这只是测试接口,并没有写具体的方法,只是写了个架子。
首先定义接口
public interface DbDao {
boolean connect();
int save();
int delById();
int update();
void query();
}
然后定义两个类继承接口,当继承接口后,大部分代码可借由高级工具生成。
public class DbDaoMysqlImpl implements DbDao{
/**
* @return
*/
@Override
public boolean connect() {
System.out.println("Mysql connect success...");
return true;
}
/**
* @return
*/
@Override
public int save() {
System.out.println("mysql 数据保存成功");
return 0;
}
/**
* @return
*/
@Override
public int delById() {
System.out.println("mysql删除完成");
return 0;
}
/**
* @return
*/
@Override
public int update() {
System.out.println("mysql修改完成");
return 0;
}
/**
*
*/
@Override
public void query() {
System.out.println("mysql 查询所有");
}
}
public class DbDaoPgsqlImpl implements DbDao{
/**
* @return
*/
@Override
public boolean connect() {
System.out.println("PostgreSql Connection success...");
return true;
}
/**
* @return
*/
@Override
public int save() {
System.out.println("pgsql 数据保存成功");
return 0;
}
/**
* @return
*/
@Override
public int delById() {
System.out.println("pgsql 删除完成");
return 0;
}
/**
* @return
*/
@Override
public int update() {
System.out.println("pgsql 修改完成");
return 0;
}
/**
*
*/
@Override
public void query() {
System.out.println("pgsql 查询所有");
}
}
下面可以写一个简单的Demo验证接口。
public class Demo {
public static void main(String[] args) {
DbDao my=new DbDaoMysqlImpl();
my.connect();
my.save();
my.delById();
my.update();
my.query();
System.out.println("----------------------------------");
DbDao pg=new DbDaoPgsqlImpl();
pg.connect();
pg.save();
pg.delById();
pg.update();
pg.query();
}
}