1.定义动物类,其中都具有姓名、年龄、性别的属性和睡觉的行为,其中狗继承动物类,但具有自己吃骨头的行为,猫继承动物类,但具有自己吃老鼠的行为,兔子继承动物类,但具有自己吃草的行为。
分析:
①定义动物类
public class Animal {
String name;
int age;
String sex;
public Animal(String name,int age,String sex) {
this.name=name;
this.sex=sex;
this.age=age;
}
public String sleep() {
return "爱睡觉";
}
public void animalSleep() {
System.out.print("\n一个名字为:"+name+",性别为:"+sex+",年龄为:"+age+"岁,"+sleep()+",");
}
}
②定义狗的类,继承动物类,并添加自身的属性和行为
public class Dog extends Animal{
String dog;
public Dog(String dog,String name,int age,String sex) {
super(name,age,sex);
this.dog=dog;
}
private String speak() {
return "旺旺...";
}
private String eat() {
return "骨头,";
}
public void animalSleep() {
super.animalSleep();
System.out.print("爱吃:"+eat()+"喜欢:"+speak()+"叫的动物是"+dog);
}
}
③定义猫的类,继承动物类,并添加自身的属性和行为
public class Cat extends Animal {
String cat ;
public Cat(String cat,String name,int age,String sex) {
super(name,age,sex);
this.cat=cat;
}
public String speak() {
return "喵喵...";
}
public String eat() {
return "老鼠,";
}
public void animalSleep() {
super.animalSleep();
System.out.print("爱吃:"+eat()+"喜欢:"+speak()+"叫的动物是"+cat);
}
}
④定义兔子的类,继承动物类,并添加自身的属性和行为
public class Rabbit extends Animal {
String rabbit;
public Rabbit(String rabbit,String name,int age,String sex) {
super(name,age,sex);
this.rabbit=rabbit;
}
public String speak() {
return "吱吱...";
}
public String eat() {
return "青草,";
}
public void animalSleep() {
super.animalSleep();
System.out.print("爱吃:"+eat()+"喜欢:"+speak()+"叫的动物是"+rabbit);
}
}
⑤测试类
public class AnimalText {
public static void main(String[] args) {
// TODO Auto-generated method stub
Cat ct = new Cat("猫","小会",3,"雌");
ct.animalSleep();
Rabbit rb = new Rabbit("兔子","小白",2,"公");
rb.animalSleep();
Dog dg = new Dog("狗","阿虎",5,"公");
dg.animalSleep();
}
}