创建一个包
**extends:**是java中子类继承父类的一种方式,是子类对父类的一种扩展(父亲没有实现的,儿子替他实现)
**使用方法:**class B extends A{}------------这样B类就可以使用A类中定义的public、protected的属性和方法了,也可以添加自己的属性和方法。(只支持单一继承,也就是一次只能继承一个父亲)
创建Test
package oop0426;
public class test {
public static void main(String[] args) {
Master master=new Master();
for(int i=0;i<4;i++){
master.feed(master.getAnimal());
}
}
}
创建Pet
public abstract class Pet { //abstract只能用来修饰类或方法
public abstract void eat();
}
主人喂食部分代码
package oop0426;
public class Master {
public void feed(Pet pet){
System.out.println("主人喂食:");
pet.eat();
}
public Pet getAnimal(){
Pet pet=null;
int rnd=(int)(1+Math.random()*4);
switch (rnd){
case 1:
pet=new Cat();
break;
case 2:
pet=new Dog();
break;
case 3:
pet=new Sheep();
break;
case 4:
pet=new Horse();
break;
default:
pet=new Cat();
break;
}
return pet; //返回子类对象
}
}
创建子类 调用 Pet
public class Dog extends Pet {
@Override //公共部分代码
public void eat(){
System.out.println("Dog eat 骨头");
}
}
运行结果



