Pet类
package com.aaa.adv;
/**
* 父类:宠物类
* @author 张晨光
*
*/
public class Pet {
//成员变量
private String name;
private int health;
//public Pet(){}
//构造
public Pet(String name, int health) {
super();
this.name = name;
this.health = health;
}
//生成getter/setter;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getHealth() {
return health;
}
public void setHealth(int health) {
this.health = health;
}
//增加一个方法:eat
public void eat(){
System.out.println("宠物类开始虚拟的吃");
}
//针对公共的方法,一定要学会提取出来
public void eat(String food){
System.out.println(this.getName()+"吃"+food);
}
}
Cat类
package com.aaa.adv;
public class Cat extends Pet {
public Cat(String name, int health) {
super(name, health);
}
}
Dog类
package com.aaa.adv;
public class Dog extends Pet {
public Dog(String name, int health) {
super(name, health);
// TODO Auto-generated constructor stub
}
//Dog子类,本身仍然保留了父类的eat()不带参数的方法
//子类,增加了一个参数;不再是重写的方法;
// public void eat(String food){
// System.out.println("小狗吃"+food);
// }
}
Parrot类
package com.aaa.adv;
/**
* 鹦鹉类
* @author 张晨光
*
*/
public class Parrot extends Pet {
public Parrot(String name, int health) {
super(name, health);
}
}
Rat类
package com.aaa.adv;
public class Rat extends Pet {
public Rat(String name, int health) {
super(name, health);
// TODO Auto-generated constructor stub
}
}
Master类
package com.aaa.adv;
/**
* 主人类:姓名 性别 地址 电话 ,本身是不是没有食物的属性;
* @author 张晨光
*
*/
public class Master {
//成员变量;
//喂养狗;方法(动物,食物)
// public void feed(Dog dog,String food){
// dog.eat(food);
// }
//喂养猫
// public void feed(Cat cat,String food){
// cat.eat(food);
// }
//要喂养鹦鹉,需要再次增加鹦鹉的喂养方法;
// public void feed(Parrot par,String food){
// par.eat(food);
// }
//上面的两个方法,就是上次课说的方法的重载;重载在一个类里面;重写多个类;
public void feed(Pet pet,String food){
pet.eat(food);
}
public static void main(String[] args) {
//maindog cat自动去eat;
Dog dog=new Dog("旺财狗",100);
Cat cat=new Cat("花脸猫",100);
//增加一个主人类;主人来喂养狗和猫.
Master master=new Master();
master.feed(dog,"排骨");
master.feed(cat,"猫粮");
//***********增加
Parrot p=new Parrot("金刚 ",100);
master.feed(p, "瓜子");
Rat rat=new Rat("米老鼠",100);
master.feed(rat, "木屑");
}
}
图示: