1.接口
1.通过interface关键字修饰的java元素就是接口。
格式:public interface 接口名{}
interface 接口名{}
2.为什么要有接口?
为了克服java的单继承,接口可以被实现多个
例如:收费,出租车有收费功能【1元/公里】,飞机有收费功能【全程1000元】
出租车与飞机不是同一类事物,但是有相同的功能
接口实际上就是提供不同类型事物的公共内容,由接口的子类根据自身的实际情况,来实现
这个接口提供的公共内容。这样子类就不需要创建这个公共内容,只需要继承来重写一下就
好。
3.接口中的元素
接口中可以有变量量、静态方法、抽象方法。
1、接口中变量一定是 public static final修饰的。
2、接口中的静态方法一定是public修饰的,public可以被省略
3、接口中的抽象方法一定是public abstract修饰的,public abstract可以省略
package com.object.test5;
//接口
public interface TestInterface {
//接口中的变量一定是public static final修饰的
static int id=1001;
String name="zhangsan";
public int age=23;
//接口中的静态方法一定是public修饰的,public可以被省略。
static void staticMethod(){
System.out.println("接口中的静态方法");
}
//接口中的抽象方法一定是public abstract修饰的,public abstract可以省略
void abstractMethod();
}
package com.object.test5;
//测试接口中的变量和方法
public class TestMain {
public static void main(String[] args) {
System.out.println(TestInterface.id);
System.out.println(TestInterface.name);
System.out.println(TestInterface.age);
TestInterface.staticMethod();
}
}
4.接口的用法
1.接口不能new,如果需要访问抽象方法需要接祖接口的子类
2.类可以通过implements关键字去实现一个/多个接口
3.普通类去实现一个/多个接口,就需要将每一个接口中的抽象方法重写,否则就需要将这个
普通类改为抽象类
4.抽象类去实现一个/多个接口,不需要重写接口中的抽象方法
5.接口可以继承接口,并且继承父接口中的所有元素
6.利用接口回调对象创建接口对象
7.当某一个普通的java类中的方法参数是接口类型的时候,可以传递接口回调对象,也可以
是接口的子类对象
package com.object.test5;
public class Person implements