当前位置: 代码迷 >> Java相关 >> [求助]如何使用一个子类继承2个不同的接口呢?
  详细解决方案

[求助]如何使用一个子类继承2个不同的接口呢?

热度:331   发布时间:2006-10-29 20:03:45.0
[求助]如何使用一个子类继承2个不同的接口呢?

比如我的子类是
class Frog extends Animal
{
int numberOflegs;

public void Frog()
{
System.out.println ("青蛙不是肉食动物");
}

public void sayHello()
{
System.out.println ("青蛙通常情况下,打招呼的方式为:呱呱呱");
}

public void sayHello(int newValue)
{
if(newValue == 123456)
{
System.out.println ("青蛙情绪好的时候会:呱呱呱");
}
else
{
System.out.println ("青蛙受到惊吓时会:扑通一声跳入水中");
}
}

public void NumberOflegs()
{
System.out.println ("青蛙有4条腿");
}

public void hasGills()
{
System.out.println ("青蛙有鳃");
}

public void laysEggs()
{
System.out.println ("青蛙产卵");
}
}

下面是2个接口
//定义接口,肉食动物
interface LandAnimal
{
public void getNumberOflegs();//腿的数量
}


//定义接口 素食动物
interface WaterAnimal
{
public void hasGills();//有鳃的
public void laysEggs();//产卵的
}




我想让那个子类继承这2个接口..但不知道语法怎么打~~高手教教我咯~~




[此贴子已经被作者于2006-10-29 20:04:18编辑过]

搜索更多相关的解决方案: 接口  继承  

----------------解决方案--------------------------------------------------------
class Frog extends Animal implements LandAnimal,WaterAnimal{

}

----------------解决方案--------------------------------------------------------
楼上正解
这个就是java替代多继承的方法
就是实现多接口

----------------解决方案--------------------------------------------------------

可是~~~还是错误哦~~

下面是错误显示:
Frog is not abstract and does not override abstract method getNumberOflegs() in LandAnimal

我把写的代码都放上来吧~~


/*动物父类,带有抽象函数*/
abstract class Animal
{
boolean mammal;
boolean carnivorous;
int mood;

public void isMammal()
{
System.out.println (mammal);
}

public void isCarnivorous()
{
System.out.println (carnivorous);
}

public void setMood(int newValue)
{
if(newValue == 123456)
{
System.out.println ("好情绪");
}
else
{
System.out.println ("坏情绪");
}
}

public void getMood()
{
System.out.println (mood);
}

abstract public void sayHello();//抽象函数
}

//定义接口,肉食动物
interface LandAnimal
{
public void getNumberOflegs();//腿的数量
}


//定义接口 素食动物
interface WaterAnimal
{
public void hasGills();//有鳃的
public void laysEggs();//产卵的
}


/*狗类子类,继承Animal*/
class Dog extends Animal implements LandAnimal
{
int numberOflegs;//腿的数量

public void Dog()
{
System.out.println ("狗是肉食动物");
}

public void sayHello()
{
System.out.println ("狗通常情况下,和人打招呼的方式为:摇摇尾巴");
}

public void sayHello(int newValue)
{
if(newValue == 123456)
{
System.out.println ("狗被抚摩情绪好的时候,打招呼的方式是:汪汪汪叫");
}
else
{
System.out.println ("狗烦躁的时候会:呜呜叫");
}
}

public void getNumberOflegs()
{
System.out.println ("狗有4条腿");
}
}

class Cat extends Animal implements LandAnimal
{
int numberOflegs;

public void Cat()
{
System.out.println ("猫是肉食动物");
}

public void sayHello()
{
System.out.println ("猫通常的情况下,和人打招呼的方式为:喵喵叫");
}

public void sayHello(int newValue)
{
if(newValue == 123456)
{
System.out.println ("猫在情绪好的时候会:咕噜咕噜叫");
}
else
{
System.out.println ("猫烦躁的时候会:嘶嘶叫");
}
}

public void getNumberOflegs()
{
System.out.println ("猫有4条腿");
}
}

class Frog extends Animal implements LandAnimal,WaterAnimal
{
int numberOflegs;

public void Frog()
{
System.out.println ("青蛙不是肉食动物");
}

public void sayHello()
{
System.out.println ("青蛙通常情况下,打招呼的方式为:呱呱呱");
}

public void sayHello(int newValue)
{
if(newValue == 123456)
{
System.out.println ("青蛙情绪好的时候会:呱呱呱");
}
else
{
System.out.println ("青蛙受到惊吓时会:扑通一声跳入水中");
}
}

public void NumberOflegs()
{
System.out.println ("青蛙有4条腿");
}

public void hasGills()
{
System.out.println ("青蛙有鳃");
}

public void laysEggs()
{
System.out.println ("青蛙产卵");
}
}


----------------解决方案--------------------------------------------------------

你声明实现,可是你却并没有实现接口中的方汪


----------------解决方案--------------------------------------------------------

不是方汪,是方法


----------------解决方案--------------------------------------------------------
你的意思是 我需要在搞个测试的类了??


----------------解决方案--------------------------------------------------------
你的类..应该要实现你接口的所有方法..

----------------解决方案--------------------------------------------------------
实现了啊
public void NumberOflegs()
{
System.out.println ("青蛙有4条腿");
}

public void hasGills()
{
System.out.println ("青蛙有鳃");
}

public void laysEggs()
{
System.out.println ("青蛙产卵");
}

----------------解决方案--------------------------------------------------------
不实现方法你实现接口的目的是什么?
----------------解决方案--------------------------------------------------------
  相关解决方案