/*
基类,都是运动员
两个足球倶乐部的人当然也是运动员
运动员当然都有play()方法,只不过实现的方法不一样
而吸烟则是可有可无的功能,不是运动员必须具有的功能,所以吸烟就是扩展功能,用implements去让有该功能的类去实现。
以上描述简单来说,就是父类必须有的功能,就定义成class类,子类去继承,因为子类是该class体系中的一员;
子类也可以有自己扩展的功能,该功能不是体系必有的,该扩展功能就定义在interface类中,子类去implements实现。
只有对抽象类和接口类中的抽象方法都实现后,才能建立子类对象。
*/
abstract class Sporter //运动员必须具备的功能。
{
abstract void play();
}
interface Smoking //扩展功能,不是运动员必须具备的功能,因为有的运动员有吸烟,有的运动员没有吸烟
//所以不能将它放在被继承的类中去。
{
public abstract void smoke();
}
class FootballClubA extends Sporter implements Smoking //FootballClubA继承必须有的功能,也有扩展不必须有的功能
{
public void play()
{
System.out.println("play football");
}
public void smoke()
{
System.out.println("smoke huanghelou");
}
}
class FootballClubB extends Sporter //FootballClubB继承必须有的功能
{
public void play()
{
System.out.println("play football");
}
}
class InterfaceTest
{
public static void main(String[] args)
{
FootballClubA foota = new FootballClubA(); //子类把抽象方法都实现后,才能建立子类对象
FootballClubB footb = new FootballClubB();
}
}
date0406/InterfaceTest.java
最新推荐文章于 2022-07-27 19:58:27 发布