Java基础笔记35——接口
接口:对类来说是一套规范,是一套行为协议
语法:
<权限访问修饰符> interface 接口名称
{
常量;
抽象方法;
}
常量默认修饰符:public static final
抽象方法默认修饰符:public abstract
注意:
1.接口不是类,没有构造器,不能实例化
2.接口使用interface关键字修饰,不是class
3.接口与接口之间可以多继承,但是不影响面向对象三大特征之一:单继承
4.类与接口之间的关系(多实现):实现关系,一个类可以实现多个接口
5.一个类可以在继承一个父类的同时,实现一个或多个接口
接口与抽象类的对比:
相同点:
1.都可以定义抽象方法
2.都可以定义常量
3.不能被实例化
4.所有的方法不能使用static、final修饰
不同点:
1.接口使用interface修饰,抽象类使用class修饰
2.抽象类只能被单继承,接口可以被多继承,多实现
3.抽象类中可以定义非抽象方法,接口只能定义抽象方法
AudioDevice.java:
package com.lqh.chapter04; //音频设备 public interface AudioDevice { //常量 public static final int MAX_VOLUMN = 100; //常量默认修饰符:public static final int MIN_VOLUMN = 0; //抽象方法 public abstract void start();//开始播放 //抽象方法默认修饰符:public abstract void pause();//暂停播放 void stop();//停止播放 }
VADevice.java:
package com.lqh.chapter04; //多继承 public interface VADevice extends AudioDevice, VideoDevice { }
VideoDevice.java:
package com.lqh.chapter04; //视频设备 public interface VideoDevice { //常量 public static final int MAX_BTINGHT = 100; //常量默认修饰符:public static final int MIN_BTINGHT = 0; //抽象方法 public abstract void turnOn();//开机 //抽象方法默认修饰符:public abstract void turnOff();//关机 }
Television.java:
package com.lqh.chapter04; //一个类可以实现多个接口 //一个类可以在继承一个父类的同时,实现一个或多个接口 public class Television extends Test implements AudioDevice,VideoDevice{ @Override public void start() { System.out.println("开始播放"); } @Override public void pause() { System.out.println("暂停播放"); } @Override public void stop() { System.out.println("终止播放"); } @Override public void turnOn() { System.out.println("开机"); } @Override public void turnOff() { System.out.println("关机"); } }
Test.java:
package com.lqh.chapter04; public class Test { public static void main(String[] args) { Television tv = new Television(); tv.turnOn(); tv.start(); tv.pause(); tv.stop(); tv.turnOff(); } }
输出结果为:
开机
开始播放
暂停播放
终止播放
关机

浙公网安备 33010602011771号