21.接口基本介绍
基本介绍
接口就是给出一些没有实现的方法,封装到一起,到某个类要使用的时候,再根据具体情况把这些方法写出来
代码:
写一个接口类UsbInterface
//接口 public interface UsbInterface { //规定接口的相关方法 public void strat(); public void stop(); }
写一个设备手机Phone
//Phone类实现UsbInterface //即Phone需要实现UsbInterface接口 规定/声明的方法 public class Phone implements UsbInterface{ @Override public void strat() { System.out.println("手机开始工作..."); } @Override public void stop() { System.out.println("手机停止工作..."); } }
写一个接收设备电脑Computer
public class Computer { public static void main(String[] args) { //创建手机对象 Phone phone = new Phone(); //创建计算机 Computer computer = new Computer(); computer.work(phone);//把啊手机接入到计算机 } }
应用场景
例如:有一个项目经理,管理三个程序员,功能开发一个软件,为了控制和管理软件,项目经理可以定义一些接口,然后由程序员具体实现
//A程序员 public class MysqlDB implements DBInterface{ @Override public void connect() { System.out.println("连接Mysql..."); } @Override public void close() { System.out.println("关闭Mysql..."); } } ===================================================== //B程序员 public class OracleDB implements DBInterface{ @Override public void connect() { System.out.println("连接Oracle..."); } @Override public void close() { System.out.println("关闭Oracle..."); } } ====================================================== public interface DBInterface {//项目经理 //规定接口的相关方法 public void connect();//连接方法 public void close();//关闭方法 } ====================================================== public class HelloJava { 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(); } } //优点:规范,可以进行统一的管理
22.接口使用细节
-
接口不能被实例化
-
接口中所有的方法是public方法,接口中的抽象方法,不可以用abstract修饰;例如void aaa() ;实际上是abstract void aaa();
-
一个普通类实现接口,就必须将该接口的所有方法都实现
-
抽象类实现接口,可以不用实现接口方法
-
一个类可以同时实现多个接口
-
接口中的属性,只能是final的,而且是public static final修饰符。例如 int a = 1;实际上是public static final int a = 1;(必须初始化)
-
接口中属性的访问形式:接口名.属性名
-
一个接口不能继承其他的类,但是可以继承多个别的接口
-
接口的修饰符只能是public和默认