比如我的子类是
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 ("青蛙产卵");
}
----------------解决方案--------------------------------------------------------
不实现方法你实现接口的目的是什么?
----------------解决方案--------------------------------------------------------