1. 定义Java类的语法格式:先写extends,后写implements
class SubClass extends SuperClass implements InterfaceA{}
2. 一个类可以实现多个接口,接口也可以继承其他接口。
3. 实现接口的类中必须提供接口中所有方法的具体实现内容,方可实例化。否则,仍为抽象类。
4. 接口的主要用途就是被实现类实现。(面向接口编程)
5. 与继承关系类似,接口与实现类之间存在多态性。
6. 接口与类是并列关系,或者可以理解为一种特殊的类。从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义(JDK7.0及之前),而没有变量和方法的实现。
接口的使用
1. 接口使用上也满足多态性
2. 接口,实际上就是定义了一种规范
3. 开发中,体会面向接口编程!
第一种 创建了接口的非匿名实现类的非匿名对象
public class day01 {
public static void main(String[] args) {
Computer com=new Computer();
//创建了接口的非匿名实现类的非匿名对象
Flash flash=new Flash();
com.transferdata(flash);
}
}
输出
第二种 创建了接口的非匿名实现类的匿名对象
public class day01 {
public static void main(String[] args) {
Computer com=new Computer();
//创建了接口的非匿名实现类的匿名对象
com.transferdata(new Printer());
}
}
输出
第三种 创建了接口的匿名实现类的非匿名对象
public class day01 {
public static void main(String[] args) {
Computer com=new Computer();
//创建了接口的匿名实现类的非匿名对象
USB phone=new USB() {
public void start() {
System.out.println("手机开始工作");
}
public void stop() {
System.out.println("手机结束工作");
}
};
com.transferdata(phone);
}
输出
第四种 创建了接口的匿名实现类的匿名对象
public class day01 {
public static void main(String[] args) {
Computer com=new Computer();
//创建了接口的匿名实现类的匿名对象
com.transferdata(new USB() {
public void start() {
System.out.println("mp3开始工作");
}
public void stop() {
System.out.println("mp3结束工作");
}
});
}
}
输出