- 接口不能被实例化
- 接口中的所有方法都是public
- 一个普通类实现接口,必须实现该接口的所有方法
- 抽象类实现接口,可以不用实现接口的静态方法和默认方法
- 在JDK7.0前 接口里的所有方法体,即都是抽象方法
- jdk8.0后接口可以有静态方法,默认方法,也就是说接口中可以有方法的具体实现
- 在接口中可以写三种方法(抽象方法,默认实现方法,静态方法)
public interface AInterface {
public int n1 = 10;
public void hi();
default public void ok() {
System.out.println("ok...");
}
public static void amd() {
System.out.println("amd");
}
}
接口示例
public interface DBInterface {
public void connect();
public void close();
}
public class MysqlDB implements DBInterface{
@Override
public void connect() {
System.out.println("连接mysql");
}
@Override
public void close() {
System.out.println("关闭mysql");
}
}
public class OrcaleDB implements DBInterface{
@Override
public void connect() {
System.out.println("连接orcale");
}
@Override
public void close() {
System.out.println("关闭orcale");
}
}
public class Interface03 {
public static void main(String[] args) {
MysqlDB mysqlDB = new MysqlDB();
t(mysqlDB);
OrcaleDB orcaleDB = new OrcaleDB();
t(orcaleDB);
}
public static void t(DBInterface db) {
db.connect();
db.close();
}
}
连接mysql
关闭mysql
连接orcale
关闭orcale