哪些网站用黑体做的,网站建设教程 乐视网,社团网站建设,域名申请阿里云接口
接口概述
接口是一种规范#xff0c;使用接口就代表着要在程序中制定规范.
制定规范可以给不同类型的事物定义功能#xff0c;例如#xff1a;
利用接口#xff0c;给飞机、小鸟制定飞行规范#xff0c;让其都具备飞行的功能#xff1b;利用接口#xff0c;给鼠…接口
接口概述
接口是一种规范使用接口就代表着要在程序中制定规范.
制定规范可以给不同类型的事物定义功能例如
利用接口给飞机、小鸟制定飞行规范让其都具备飞行的功能利用接口给鼠标、键盘、音响制定连接规范让其都具备连接的功能
接口制定规范通常只规定有哪些功能不限制功能的具体内容。需要由遵循规范的事物自己去实现例如
飞行规范只是让飞机、小鸟具备飞行的功能但具体怎么飞由它们自己决定连接规范只是让鼠标、键盘、音响都拥有可以被连接的功能但具体怎么连接由它们自己决定
接口的定义格式
public interface Inter { // 常量// 抽象方法}注意:
接口中的变量必须是常量默认被 public static final 修饰接口中的方法默认是抽象方法默认被 public abstract 修饰接口不能创建对象
接口的使用方式
接口是用来被类实现implements的实现接口的类称为实现类。实现类可以理解成所谓的子类
接口可以被类单实现也可以被类多实现注意一个类实现接口必须重写完全部接口的全部抽象方法否则这个类需要定义成抽象类
修饰符 class 实现类 implements 接口1, 接口2, 接口3 , ... {……
}接口和抽象类的区别
一个类只能继承一个抽象类一个类可以实现多个接口。继承父类和实现接口并不冲突可以同时使用。功能上抽象类是对同一类型事物的抽取 (例如猫和狗)接口是对不同类型事物具有相同行为的规范。 实例1:
public class Demo01 {public static void main(String[] args) {//需求定义一个数学接口MathInter给其定义成员变量PI圆周率和成员方法add加法//1.定义好接口后尝试创建MathInter对象代码报错接口不能创建对象//new MathInter();//2.使用MathInter提供的圆周率System.out.println(MathInter.PI);//3.尝试修改圆周率//MathInter.PI 6.66;//4.要想使用接口需要定义类去实现接口//定义Computer电脑类实现Math数学接口//5.创建实现类对象调用重写的方法Computer computer new Computer();computer.add(1, 2);//6.需求再定义一个播放接口PlayerInter制定播放规范让Computer去实现computer.play();}
}public interface MathInter {//2.要求有圆周率提供给其他人使用//public static final double PI 3.14;//注意接口中的成员变量只能是常量默认被 public static finaldouble PI 3.14;//3.要求有加法//public abstract void add(int a, int b);//接口中的方法默认就被 public abstract修饰void add(int a, int b);
}public interface PlayerInter {void play();
}public class Computer implements MathInter, PlayerInter {//2.类实现接口必须要重写接口的所有抽象方法Overridepublic void add(int a, int b) {System.out.println(加法结果 (a b));}Overridepublic void play() {System.out.println(播放小视频);}
}实例二: 定义USB接口制定规范要求所有USB设备都拥有接入connect和断开disconnect功能
定义Mouse鼠标类和Keyboard键盘类要求实现USB接口遵循USB制定的规范Mouse鼠标的特有功能点击clickKeyboard键盘的特有功能打字 typewrite
1.定义UsbInter接口制定规则接入connect和断开disconnect
public interface UsbInter {void connect();void disconnect();
}2.定义鼠标Mouse类和键盘Keyboard类作为接口实现类重写接口的方法
public class Keyboard implements UsbInter {Overridepublic void connect() {System.out.println(接入键盘);}Overridepublic void disconnect() {System.out.println(断开键盘);}//2.特有功能打字public void typewrite() {System.out.println(键盘敲烂月薪过万);}
}public class Mouse implements UsbInter{Overridepublic void connect() {System.out.println(鼠标连接);}public void Click(){System.out.println(鼠标点击);}Overridepublic void disconnect() {System.out.println(鼠标断开);}}3.分别创建Mouse鼠标对象和Keyboard键盘对象
public class Demo02 {public static void main(String[] args) {Mouse mouse new Mouse();Keyboard keyboard new Keyboard();//依次调用usb的接入方法、各自特有的方法、usb的断开方法mouse.connect();mouse.click();mouse.disconnect();System.out.println(-----------------);keyboard.connect();keyboard.typewrite();keyboard.disconnect();}
}