Animal父类
package com.imooc.Test; public class Animal { //属性:kind(种类) private String kind; public Animal(){ } //创建带参(king为参数)构造函数 public Animal(String kind){ this.setkind(kind); } //应用封装实现对私有属性的get/set操作 public void setkind(String kind){ this.kind = kind; } public String getkind(){ return this.kind; } //创建成员方法cry():void public void cry(){ } }
Cat子类
package com.imooc.Test; public class Cat extends Animal { //重写父类cry()方法,输出信息为“小猫的叫声:喵喵喵~~~” public void cry(){ System.out.println("小猫的叫声:喵喵喵~~~"); } }
Dog子类
package com.imooc.Test; public class Dog extends Animal { //重写父类cry()方法:输出信息为“小狗的叫声:汪汪汪~~~” public void cry(){ System.out.println("小狗的叫声:汪汪汪~~~"); } }
Sheep子类
package com.imooc.Test; public class Sheep extends Animal { //重写父类的方法cry(),要求输出信息“小羊的叫声:咩咩咩~~~” public void cry(){ System.out.println("小羊的叫声:咩咩咩~~~"); } }
测试代码
public class Test { public static void main(String[] args) { //生成父类对象数组,数组长度为5 Animal[] animal = null; //产生随机数,随机产生三种具体子类的实例 for(int i_1 = 0;i_1<6;i_1++){ int x=(int)(Math.random()*3); animal[i_1] = new Cat(); if(x == 0){ animal[i_1] = new Cat(); } else if(x == 1){ animal[i_1] = new Dog(); } else if(x == 2){ animal[i_1] = new Sheep(); } } //循环输出,循环体中每个对象分别调用cry()方法。 for(int i_2 = 0 ; i_2<6 ; i_2++){ animal[i_2].cry(); } } }
请多指教。
相关分类