public interface Runner
{
int ID=1;
void run();
}
//Animal是一个接口,Animal接口具有Runner接口的特点,是对
//Runner接口的扩展
interface Animal extends Runner
{
void breathe();
}
//Fish是一个类,具有Animal接口中定义的所有方法
//而且必须实现Animal接口的所有方法(包括从Runner接口中继承到的方法)
class Fish implements Animal
{
public void run()
{
System.out.println("fish is swimming");
}
public void breathe()
{
System.out.println("fish is bubbling");
}
}
//LandAnimal是一个抽象类,它实现Animal接口的breathe方法,但没有实现run方法
//run方法在LandAnimal中是抽象方法,所以LandAnimal必须是抽象类
abstract class LandAnimal implements Animal
{
public void breathe()
{
System.out.println("LandAnimal is breathing");
}
}
注释有一句:“//LandAnimal是一个抽象类,它实现Animal接口的breathe方法,但没有实现run方法
//run方法在LandAnimal中是抽象方法,所以LandAnimal必须是抽象类”,何解?
只有abstract修饰的方法才叫抽象方法吗?那些没有参数列表,没有方法体的算不算呢?