动物类:姓名,年龄,吃饭,睡觉。
动物培训接口:跳高
猫继承动物类
狗继承动物类
部分猫继承猫类并实现跳高接口
部分狗继承狗类并实现跳高接口
代码展示:
Animal.java
package demo09; public abstract class Animal { private String name; private int age; public abstract void eat(); public abstract void sleep(); public Animal() { } public Animal(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } }
Cat.java
package demo09; public class Cat extends Animal { @Override public void eat() { System.out.println("吃饭"); } @Override public void sleep() { System.out.println("睡觉"); } public Cat(String name, int age) { super(name,age); } }
Dog.java
package demo09; public class Dog extends Animal { @Override public void eat() { System.out.println("吃饭"); } @Override public void sleep() { System.out.println("睡觉"); } public Dog(String name, int age) { super(name,age); //调用父类有参构造方法 } }
ErhaDog.java
package demo09; public class ErhaDog extends Dog implements JumpInterface{ @Override public void eat() { System.out.println(this.getName()+"今年"+this.getAge()+"喜欢吃狗粮"); } @Override public void sleep() { System.out.println("二哈喜欢睡在地上"); } public ErhaDog(String name,int age){ super(name,age); //调用父类有参构造方法 } public void door(){ System.out.println(this.getName()+"在看门"); } @Override public void jump() { System.out.println("狗没学会跳高"); } }
Tomcat.java
package demo09; public class Tomcat extends Cat implements JumpInterface{ @Override public void eat() { System.out.println(this.getName()+"今年"+this.getAge()+"tom喜欢吃鱼"); } @Override public void sleep() { System.out.println(this.getName()+"喜欢睡在沙发上"); } public Tomcat (String name,int age){ super(name,age); //调用父类有参构造方法 } public void mouse(){ System.out.println(this.getName()+"抓老鼠"); } @Override public void jump() { System.out.println(this.getName()+"学会了跳高"); } }
JumpInterface.interface
public interface JumpInterface { void jump(); }
Test.java
package demo09; public class Test { //定义测试类 public static void main(String[] args) { Cat c=new Tomcat("tom",10);// 使用有参构造方法 c.eat(); c.sleep(); Tomcat tomcat= (Tomcat) c; //向下转型 tomcat.mouse(); tomcat.jump(); Dog d=new ErhaDog("二哈",20);//使用有参构造方法 d.eat(); d.sleep(); ErhaDog e= (ErhaDog) d; //向下转型 e.door(); e.jump(); } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)