package cn.hp.demo;
/*
* 动物类
* 名字,吃的方法
* */
public abstract class Animal {
private String name;
/*
* 不明确是什么动物?吃的东西也不明确
* */
public abstract void eat();
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package cn.hp.demo;
/*
* 猫类
* 继承动物的属性和行为
* */
public class Cat extends Animal implements Jump{
/*
*猫吃鱼
* */
@Override
public void eat(){
System.out.println(super.getName()+"猫吃鱼");
}
@Override
public void jump() {
System.out.println(super.getName()+"像猫跳一样再跳高!!!");
}
}
package cn.hp.demo;
import java.util.List;
/*
* 狗类
* 共有属性和行为直接从动物类继承
* */
public class Dog extends Animal implements Jump{
/*
* 重写了父类的方法
* 由于父类方法不满足使用,根据子类的特性进行重写
* */
@Override
public void eat(){
System.out.println(super.getName()+"啃骨头");
}
@Override
public void jump() {
System.out.println(super.getName()+"像狗跳一样再跳高!!!");
}
}
package cn.hp.demo;
/*
* 接口
* 接口内只能有静态常量
* public static final 默认修饰符
* 接口内的方法都是抽象方法
* public abstract 默认修饰符
* */
public interface Jump {
void jump();
}
package cn.hp.demo;
public class Test {
public static void main(String[] args) {
//创建Dog类对象
Dog dog = new Dog();
dog.setName("旺财");
dog.eat();
dog.jump();
//创建猫类对象
Cat cat = new Cat();
cat.setName("花花");
cat.eat();
cat.jump();
}
}