1.接口中的方法默认都是全局抽象方法 不管是否书写 public abstract 都有这个效果
2.接口不能直接new对象 ,必须通过new实现类(子类)的方式来创建对象 (多态向上转型)
3.实现类必须实现接口中的所有抽象方法,除非实现类也是抽象类 或者 接口
4.接口中不能书写普通属性 默认都是全局静态常量 属性默认都有 public static final修饰
5.接口中不能书写构造方法
6.接口中不能书写静态方法
7.接口实现多态的方式与之前一致
Java支持多继承吗?
不支持,但是可以使用接口继承多个接口的方式来实现类似多继承的效果
package com.qfedu.test5;
/**
* 接口:只关注约定,不关注具体实现
* 约定即方法的声明
* 实现即方法体
*
* UI User Interface
*
*/
public interface USB {
String NAME = "Hello World";
/**
* 1.接口中的方法默认都是全局抽象方法 不管是否书写 public abstract 都有这个效果
* 2.接口不能直接new对象 ,必须通过new实现类(子类)的方式来创建对象 (多态向上转型)
* 3.实现类必须实现接口中的所有抽象方法,除非实现类也是抽象类 或者 接口
* 4.接口中不能书写普通属性 默认都是全局静态常量 属性默认都有 public static final修饰
* 5.接口中不能书写构造方法
* 6.接口中不能书写静态方法
* 7.接口实现多态的方式与之前一致
*
* Java支持多继承吗?
* 不支持,但是可以使用接口继承多个接口的方式来实现类似多继承的效果
*/
void connect();
}
package com.qfedu.test5;
public class KeyBoard implements USB{
@Override
public void connect() {
System.out.println("使用USB接口连接上键盘,就可以统一世界了!");
}
}
package com.qfedu.test5;
public class USBFan implements USB{
@Override
public void connect() {
System.out.println("USB风扇连接USB接口,很凉爽~");
}
}
package com.qfedu.test5;
public class Test {
public static void main(String[] args) {
// USB usb = new USB(); 接口不能直接new对象
USB usbFan = new USBFan();
usbFan.connect();
USB kb = new KeyBoard();
kb.connect();
}
}