原创作品,转载请注明来源,这篇博客我也发到了我的csdnhttps://blog.csdn.net/suyues/article/details/103458086
接口
接口定义全局变量和抽象方法
子类可以继承抽象类并实现接口
一个抽象类可以实现多个接口
接口不能继承抽象类,但是接口可以继承多个接口
一个子类只能继承一个抽象类
来一句一句的分析一下
先假设两个接口和一个抽象类,他们分别是Z、W、CA
interface Z{
public static final String MSG="hello,world";//全局变量
public abstract void fun();//抽象方法
}
interface W{
public abstract void say();
void print();//public abstract可以省略
}
abstract class CA{//子类可以继承抽象类并实现接口
public abstract Boolean nin();
}
接口定义全局变量和抽象方法
:接口由全局变量和抽象方法组成
interface Z{
public static final String MSG="hello,world";//全局变量
public abstract void fun();//抽象方法
}
子类可以继承抽象类并实现接口
:这句话就是字面意思,假设有两个接口Z和W,还有一个抽象类CA。那么子类C可以在继承CA的同时去实现Z和W。注意,这时的X要覆写Z、W、CA中所有的抽象方法
class X extends CA implements Z,W{
public void fun(){
System.out.println("fun()>>Z");
}
public void say(){
System.out.println("say()>>W");
}
public void print(){
System.out.println("print()>>W");
}
public Boolean nin(){
return false;
}
}
一个抽象类可以实现多个接口
:这句话是有对应的,抽象类和普通的类一样,他只能继承一个抽象类。但是,它可以实现多个接口
abstract class XX implements Z,W{
public abstract void printXX();
}//这时XX里面有四个抽象方法,分别是fun(),say(),printXX(),print.
这时XX里面有四个抽象方法,分别是fun(),say(),printXX(),print.
接口不能继承抽象类,但是接口可以继承多个接口
:接口继承抽象类会报错,但接口可以继承多个接口
interface JJK extends Z,W{//JJk里面现在有四个
void printJJK();
}
一个子类只能继承一个抽象类
:这句话就是普通的字面意思