package petstore;
//创建宠物类型,父类
public class Pet {
private String name;
private int age;
private String color;
void showList () {
System.out.println("名字是:"+name);
System.out.println("年龄是:"+age);
System.out.println("颜色是:"+color);
}
public void eat() {
System.out.println("吃的方法");
}
public void shout() {
System.out.println("叫的方法");
}
// 封装
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
}
package petstore;
//写一个狗类,继承宠物类
public class Dog extends Pet {
String sex="男生";
//子类重写父类方法
public void swim() {// 子类独有的方法,此时子类有父亲的共性,还有自己的个性
System.out.println(getName() + "狗狗会游泳。");// 私有的要用getName
super.eat();
}
@Override
public void eat() {
System.out.println(getName() + "狗狗吃骨头。");// 私有的要用getName
System.out.println(sex);
}
@Override//重写父类的方法
public void shout() {
System.out.println(getName() + "狗狗汪汪叫。");// 私有的要用getName
}
}
package petstore;
//继承了父类的的猫类
public class Cat extends Pet {
public void calme() {//子类独有的方法,此时子类有父亲的共性,还有自己的个性
System.out.println(getName() + "猫猫会爬树");// 私有的要用getName
}
@Override
public void eat() {
System.out.println(getName() + "猫猫吃鱼鱼。");
}
@Override
public void shout() {
System.out.println(getName() + "猫猫啊呜啊呜叫。");
}
}
package petstore;
//测试类
public abstract class Test {
public static void main(String[] args) {
Dog d = new Dog();
d.setName("ddd");// 子类可以访问父类继承的属性和方法
d.setAge(18);
d.setColor("白色");
d.eat();
d.shout();
d.showList();
d.swim();
System.out.println("**************************");
Cat c = new Cat();
c.setAge(12);
c.setColor("橘色");
c.setName("胖橘");
c.showList();
c.calme();
d.eat();
}
}