定义一个接口animal,内有描述动物叫的方法shout 用JAVA语言

定义一个接口animal,内有描述动物叫的方法shout 用JAVA语言,第1张

public interface animal{

public void shout();

}

上面是一般的写法,可以自定义一个类实现这个接口,然后重写接口里的方法例如:

public class cow implements animal{

@override

public void shout(){

Systemoutprintln("哞哞~"):

}

}

不知道你是不是这个意思~

父类:

public class Bird{

public void sound(){Systemoutprintln("I'm a bird!");}

public void fly(){Systemoutprintln("I can fly!");}

public void body(){Systemoutprintln("I have two wings and two legs!");}

}

麻雀:

public class Sparrow extends Bird{

int age;

int weight;

public void sound(){Systemoutprintln(I'm a sparrow!);}

public void printAge(){Systemoutprintln("My age is "+age);}

public void printWeight(){Systemoutprintln("My weight is "+weight);}

public void setAge(int age){thisage=age;}

public void setWeight(int wight){thisweight=weight;}

}

鸵鸟:

public class Ostrich extends Bird{

int speed;

int height;

public void sound(){Systemoutprintln(I'm a ostrich!);}

public void fly(){Syttemoutprintln("I can't fly!");}

public void printSpeed(){Systemoutprintln("My speed is "+speed);}

public void printHeight(){Systemoutprintln("My height is "+weight);}

public void setSpeed(int speed){thisspeed=speed;}

public void setHeight(int hight){thisheight=height;}

}

鹰 就留给LZ自己练习了~~

至于数组的话,我认为是在测试的时候用的,如下:

public static void main(String[] arg0){

Bird[] birds=new Bird[10];

for(int i=0;i<10;i++){

//这里随机生成对象,对于用户来说不知道birds数组中到底是什么对象

int temp = new javautilRandom()nextInt(4);

switch(temp){

case 0: birds[i]=new Bird();break;

case 1: birds[i]=new Sparrow();break;

case 2: birds[i]=new Ostrich();break;

//case 3: 这里楼主自己生成鹰的对象

}

}

//生成对象以后,我们如何得知数组中到底是什么动物呢?

//这就需要用到继承的特性了

//下面就来打印看看,我们到底生成了什么东西

for(Bird bird : birds){

//这里根据动物的叫声,就可以得知他到底是什么动物了,当然我们在生成的时候也将父类也生成了,所以也会有鸟的叫声。

birdsound();

//如果要体现动物间不同的特性就这样,并且以此类推

if(bird instanceof Sparrow){((Sparrow)bird)printAge();}

if(bird instanceof Ostrich){((Ostrich)bird)printSpeed();}

//

}

}

整个程序体现了子类与父类的多态性,声明的时候用父类型声明,生成对象的时候new的是具体的动物,那么在调用方法的时候,会根据具体声明的对象去调用相应的方法,也就是上面的sound方法,调用之后显然是各自的叫声。

public class Animal {

private String type="";

public Animal(){

type="tiger";

}

public Animal(String type){

thistype = type;

}

public String toString(){

return type;

}

public void sound(){

Systemoutprintln(type+"发出了叫声");

}

public static void main(String[] args) {

Animal a1 = new Animal();//无参的

Systemoutprintln(a1);

a1sound();

Animal a2 = new Animal("panda");//无参的

Systemoutprintln(a2);

a2sound();

}

}

LZ咋连分都不给啊,呵呵,好了可以运行了

class Animal {

public void sound(){}

}

class Dog extends Animal{

public void sound(){

Systemoutprint("汪汪");

}

}

class Cat extends Animal{

public void sound(){

Systemoutprint("喵喵");

}

}

public class Test{

public static void main(String[] args) {

Animal c = new Cat();

Animal d = new Dog();

Systemoutprint("tom");

csound();

Systemoutprint("旺财");

dsound();

}

}

abstract class DongWu{

    abstract void animal();

}

class Dog extends DongWu{

    void animal(){

        Systemoutprintln("旺旺");

    }

}

public class Util{

    public static void main(String[] args){

        Dog d = new Dog();

        danimal();

    }

}

以上就是关于定义一个接口animal,内有描述动物叫的方法shout 用JAVA语言全部的内容,包括:定义一个接口animal,内有描述动物叫的方法shout 用JAVA语言、写一个java程序,主要是要运用数组,还要体现父类子类间的继承关系。、JAVA编写一个Animal类等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10124881.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存