抽象类和接口的关系:
相同:- 都是将共性的东西向上抽取而来的。
- 抽象类需要被继承,接口需要被实现。
- 抽象类只能被单继承,接口可以多实现。
- 抽象类中可以有抽象和非抽象方法,接口中只能是抽象方法。
- 抽象类的继承是该体系中基本共性的内容,接口是该体系中额外的功能。
根据上图思路,用以下代码用来测试接口的应用:
class Person{
String name;
int age;
void eat()
{
System.out.println("Person can eat");
}
void sleep()
{
System.out.println("Person can sleep");
}
}
abstract class Sportsman extends Person{
//运动员--->Person
abstract void study();
}
abstract class Coach extends Person{
//教练--->Person
abstract void teach();
}
interface A{
//学习英语(接口)
void LearnEnglish();
}
class BasketballPlayer extends Sportsman{
//篮球运动员--->运动员
public void study(){
System.out.println("learn basketball");
}
public void LearnEnglish(){
System.out.println("learn speak English");
}
}
class BasketballCoach extends Coach{
//篮球教练--->教练
public void teach(){
System.out.println("teach basketball");
}
}
class Interface{
public static void main(String[] args){
BasketballPlayer cxk = new BasketballPlayer();
cxk.study();
cxk.LearnEnglish();
}
}
输出结果: