Java案例——猫与狗(接口版)

Java案例——猫与狗(接口版)

一、需求:对猫跟狗进行训练,加入跳高功能,采用抽象类和接口实现,并创建测试类测试

二、分析:

1.定义接口(Jummping)

成员方法 跳高();

/*定义跳高接口
* */
public interface Jumpping {
  public void jump();
}

2.定义抽象动物类(Animal)

成员变量为姓名,年龄;无参有参构造方法;成员方法:get/set方法,eat()

/*定义抽象类
* */
public abstract class Animal {
  private String name;
  private int age;
  //定义无参构造方法
  public Animal(){}
  public String getName() {
      return name;
  }
  public void setName(String name) {
      this.name = name;
  }
  public int getAge() {
      return age;
  }
  public void setAge(int age) {
      this.age = age;
  }
  //定义有参构造方法
  public Animal(String name ,int age){
      this.age= age;
      this.name= name;
  }
  //定义成员方法
  public abstract void eat();
  }

3.定义具体猫类(cat),继承动物类,实现跳高接口

无参有参构造方法;成员方法 重写 eat()、jump();定义特有方法 play()

/*定义具体猫类继承动物类
* */
public class Cat extends Animal implements Jumpping {
  public Cat() {
  }
  public Cat(String name,int age) {
      super(name,age);
  }
  //重写吃饭方法
  @Override
  public void eat() {
      System.out.println("猫吃饭");
  }
  @Override//重写接口方法
  public void jump() {
      System.out.println("猫跳高");
  }
  //定义成员方法
  public void play() {
      System.out.println("玩耍");
  }
}

4.定义具体狗类(dog),继承动物类,实现跳高接口

无参有参构造方法;成员方法 重写 eat()、jump();定义特有方法 play()

/*定义具体狗类,继承抽象动物类
* */
public class Dog extends Animal implements Jumpping {
  //定义无参构造方法
  public Dog() {
  }
  //定义有参构造方法
  public Dog(String name, int age) {
      super(name,age);
  }
  //定义成员方法
  public void play() {
      System.out.println("狗玩耍");
  }
  //重写接口方法
  @Override
  public void jump() {
      System.out.println("狗跳高");
  }
  //重写吃饭方法
  @Override
  public void eat() {
      System.out.println("狗吃肉");
  }
}

5.定义测试类(AnimalDemo)测试


/*动物测试类
* */
public class AnimalDemo {
  public static void main(String[] args) {
      //使用多态创建猫类对象
//       Animal a = new Cat();
//       a.name = "小猫";
//       a.age = 18;
//       System.out.println(a.name + a.age);
//       a.eat();
//       向下转型,调用猫类特有方法
//       Cat c = (Cat) a;
//       c.jump();
//       c.play();
//     创建对象调用猫类
      Cat c=new Cat("加菲",18);
      System.out.println(c.getName()+c.getAge());
      c.eat();
      c.jump();
      c.play();
      System.out.println("--------------------------------------------");
//     创建对象调用猫类
      Dog d = new Dog();
      d.setName("小狗");
      d.setAge(180);
      System.out.println(d.getName()+d.getAge());
      d.eat();
      d.jump();
      d.play();
  }
}

 

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » Java案例——猫与狗(接口版)