1.实现一个接口要重写其中的所有方法,你的LandAnimal改为下面的就可以了:
class LandAnimal implements Animal
{
public void Breathe(){}
public void run(){}
;;;;;//这里几个都不要紧
}2.这里的;只是代表一条空语句,所以你加几个;;;;都无所谓
class LandAnimal implements Animal
{
public void Breathe(){}
public void run(){}
;;;;;//这里几个都不要紧
}2.这里的;只是代表一条空语句,所以你加几个;;;;都无所谓
{
public void breathe(){};
}由于你实现的接口Animal中有两个方法:breathe(),run()而在你的类LandAnimal
中两个方法breathe(),run() 都没有实现,所以要定义成抽象的类,
没有实现的方法只能出现在接口或者抽象类中。你可象楼上的那么修改
2. 抽象类中的方法可以是抽象方法,也可以不是抽象方法,所以
abstract class LandAnimal implements Animal
{
public void breathe(){};
//public void breathe(){}
}
都是可以的,但接口是比抽象类更抽象,其中的方法只能是抽象方法,其中的方法
必须是第一中方式的
{
public void run() { }
public void Breathe(){ }
}
楼上说得够详细了,想插一句都不行
是不是说“public void breathe(){};”是抽象方法,而“public void breathe(){}”不是抽象方法呢?
而“public void breathe(){}”不是抽象方法
abstract方法一定要在abstract类中实现!
看看interface 与 abstract的区别就会明白了!