Interface接口是一个特殊类,其目的就是制定一个通用的行为规范,子类来继承与它,并实现其抽象方法。接口中包含静态常量和抽象方法,不能包含非抽象方法。
设计接口就是希望它被继承,所以接口默认的访问修饰符为public。
Interface A{
public static final String a = "hello";
public abstract void test();
}
我们通过implement来继承接口。并实现其所有的抽象方法,同时我们也可以定义该类自己的方法。
class B implement A{
public void test(){
System.out.println("i am test");
}
public void say(){
System.out.println("hello, i come from Bk");
}
public class InterfaceDemo{
public static void mian(String[] args){
A a = new B();//实例化接口,通过接口的实现。向上提升,a中有test,没有say方法
B b = new B();
}}
一个类中如果含有抽象方法,那么这个类就是抽象类,抽象类中可以包含非抽象方法,抽象方法不能用final修饰,抽象类一定要能被继承实现的,接口可以多继承,抽象类只能单继承。实现一个抽象类就要实现它的全部抽象方法。抽象类的实例化是通过它的实现类去实现的。