接口基本介绍
- 制定规范、规格
- 接口就是给出一些没有实现的方法,封装到一起,到某个类要使用的时候,在根据具体情况把这些方法写出来
- 语法
interface 接口名{
属性
方法(1.抽象方法 2.默认实现方法 3.静态方法)
}
class 类名 implements 接口{
自己属性;
自己方法
必须实现的接口的抽象方法
}
- 在JDK7.0 前 接口里的所有方法都没有方法体
- JDK8.0后接口类可以有静态方法,默认方法,也就是说接口中可以有方法的具体实现
接口源码说明
package com.tao.interface_;
/**
* Create By 刘鸿涛
* 2021/12/25 17:10
*/
public class Interface01 {
public static void main(String[] args) {
//创建手机,相机
Phone phone = new Phone();
Camera camera = new Camera();
//创建计算机
Computer computer = new Computer();
computer.work(phone); //把手机接入到计算机
System.out.println("================\n");
computer.work(camera); //把相机接入到计算机
}
}
class Camera implements UsbInterface{
public void start(){
System.out.println("相机开始工作...");
}
public void stop(){
System.out.println("相机停止工作了...");
}
}
class Computer {
//编写一个方法,计算机工作
public void work(UsbInterface usbInterface){
//通过接口,来调用方法
usbInterface.start();
usbInterface.stop();
}
}
//Phone类实现 UsbInterface
//解读1. 即 Phone 类需要实现 UsbInterface接口 规定/声明的方法
class Phone implements UsbInterface{
public void start(){
System.out.println("手机开始工作...");
}
public void stop(){
System.out.println("手机停止工作了...");
}
}
interface Ainterface {
//写属性
public int n1 = 10;
//写方法
//在接口中,抽象方法,可以省略abstract关键字
public void hi(); //省略abstract关键字
// public void ok(){
// 接口方法不可以有方法体
// System.out.println("ok...");
// }
//在jdk8后,可以有默认实现方法,需要使用default关键字修饰
default public void ok(){
System.out.println("ok...");
}
//在jdk8后,可以有静态方法
public static void cry(){
System.out.println("cry...");
}
}
interface UsbInterface { //接口
//规定接口的相关方法
public void start();
public void stop();
}
接口源码举例
- 制定一个规格,每个接口都必须实现某个方法,使用implements继承
package com.tao.interface_;
/**
* Create By 刘鸿涛
* 2021/12/25 22:39
*/
public class Interface03 {
public static void main(String[] args) {
MysqlDB mysqlDB = new MysqlDB();
t(mysqlDB);
OracleDB oracleDB = new OracleDB();
t(oracleDB);
}
public static void t(DBinterface db){
db.connect();
db.close();
}
}
//规格制定
interface DBinterface{ //项目经理
public void connect(); //连接方法
public void close(); //关闭方法
}
//连接MysqlDB
class MysqlDB implements DBinterface{
public void connect(){
System.out.println("连接MysqlDB");
}
public void close(){
System.out.println("关闭MysqlDB");
}
}
//连接OracleDB
class OracleDB implements DBinterface{
public void connect(){
System.out.println("连接OracleDB");
}
public void close(){
System.out.println("关闭OracleDB");
}
}
结论
- java-面向接口编程
- 以后使用接口时可能会觉得越用越绕,只有通过不断地实战项目练习才能慢慢熟练接口的运用,所以,不用怕!