//定义对应的类,继承自动物,提供对应的方法重写,并在工具类添加方法调用
第一种:
//定义父类
class Animal{
void eat(){}//提供方法
void play(){}
}
//cat子类继承父类
class Cat extends Animal{
public void eat(){//方法重写
System.out.println("猫吃鱼");
}
public void play(){//方法重写
System.out.println("猫跳");
}
}
//测试类
public class Test01{
public static void main(String[] args) {
Cat c = new Cat();//声明对象c
c.eat();//调用方法
c.play();
}
}
第二种
第二种多了一个工具类,是对相同类方法的集合,以后应该经常用到
//定义父类
class Animal{
void eat(){}
void play(){}
}
//cat子类继承父类,并重写方法
class Cat extends Animal{
public void eat(){
System.out.println("猫吃鱼");
}
public void play(){
System.out.println("猫跳");
}
}
//工具类
class UseAnimal{
public static void UseCat(Cat c){
c.eat();
c.play();
}
}
//测试类
public class Test01{
public static void main(String[] args) {
Cat c = new Cat();//声明对象c
UseCat(c);//调用方法
}
}
第三种
第三种对工具类进行了集合,使功能更为强大
//定义父类
class Animal{
void eat(){}
void play(){}
}
//cat子类继承父类,并重写方法
class Cat extends Animal{
public void eat(){
System.out.println("猫吃鱼");
}
public void play(){
System.out.println("猫跳");
}
}
//工具类
//工具类集合了所有的类的行为,后续添加新对象新新行为时,可以直接在继承里新建继承对象和重写行为,不需要改动工具类
class UseAnimal{
private UseAnimal(){}
public static void UseAnimal(Animal a){
a.eat();
a.play();
}
}
//测试类
public class Test01{
public static void main(String[] args) {
Cat c = new Cat();
UseAnimal.UseAnimal(c);//可以添加其他动物,直接在继承时添加
}
}