动物类:姓名,年龄,吃饭,睡觉。
动物培训接口:跳高
猫继承动物类
狗继承动物类
部分猫继承猫类并实现跳高接口
部分狗继承狗类并实现跳高接口
代码展示:
Animal.java
package demo09;/*** @Author:liger* @Description:爱学Java* @Time:-11-04 16:51*/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;/*** @Author:liger* @Description:爱学Java* @Time:-11-04 16:53*/public class Cat extends Animal {@Overridepublic void eat() {System.out.println("吃饭");}@Overridepublic void sleep() {System.out.println("睡觉");}public Cat(String name, int age) {super(name,age);}}
Dog.java
package demo09;/*** @Author:liger* @Description:爱学Java* @Time:-11-04 16:53*/public class Dog extends Animal {@Overridepublic void eat() {System.out.println("吃饭");}@Overridepublic void sleep() {System.out.println("睡觉");}public Dog(String name, int age) {super(name,age); //调用父类有参构造方法}}
ErhaDog.java
package demo09;/*** @Author:liger* @Description:爱学Java* @Time:-11-04 16:57*/public class ErhaDog extends Dog implements JumpInterface{@Overridepublic void eat() {System.out.println(this.getName()+"今年"+this.getAge()+"喜欢吃狗粮");}@Overridepublic void sleep() {System.out.println("二哈喜欢睡在地上");}public ErhaDog(String name,int age){super(name,age); //调用父类有参构造方法}public void door(){System.out.println(this.getName()+"在看门");}@Overridepublic void jump() {System.out.println("狗没学会跳高");}}
Tomcat.java
package demo09;/*** @Author:liger* @Description:爱学Java* @Time:-11-04 16:56*/public class Tomcat extends Cat implements JumpInterface{@Overridepublic void eat() {System.out.println(this.getName()+"今年"+this.getAge()+"tom喜欢吃鱼");}@Overridepublic void sleep() {System.out.println(this.getName()+"喜欢睡在沙发上");}public Tomcat (String name,int age){super(name,age);//调用父类有参构造方法}public void mouse(){System.out.println(this.getName()+"抓老鼠");}@Overridepublic void jump() {System.out.println(this.getName()+"学会了跳高");}}
JumpInterface.interface
public interface JumpInterface {void jump();}
Test.java
package demo09;/*** @Author:liger* @Description:爱学Java* @Time:-11-04 16:50*/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();}}