(2)用继承完成下列任务。 1)写一个类,名为Animal,该类有两个私有属性,name(代表动物的名字),和legs(代表动物的腿的条数);要求为两个私有属性提供public的访问方法。并提供两个重

it2023-10-12  76

(2)用继承完成下列任务。 1)写一个类,名为Animal,该类有两个私有属性,name(代表动物的名字),和legs(代表动物的腿的条数);要求为两个私有属性提供public的访问方法。并提供两个重载的构造方法,一个需要两个参数,分别用这两个参数给私有属性name和legs赋值。另一个无参,默认给name赋值为AAA,给legs赋值为4;该类有一个带参的void move(int n)方法,在屏幕上输出n次“XXX Moving!!”;添加属性的get和set方法。 2)写一个类Fish,继承自Animal类,并提供一个构造方法,该构造方法需要一个参数name,并给legs赋默认值0;该类要求覆盖Animal类中的void move(int n)方法,输出n次“XXX Swimming!!”。 3)写一个类Bird,继承自Animal类,并提供一个构造方法,该构造方法需要一个参数name,并给legs赋默认值2;该类要求覆盖Animal类中的void move(int n)方法,输出n次“XXX Flying!!”。 4)写一个测试类Zoo,定义一个入口方法main(),在入口方法中分别生成若干个Animal,Fish和Bird的实例对象,并调用他们的属性和方法,其中void move(int n)中参数n要求用Math.random()方法产生[1,4]之间的数。

package thirdjava; class animal1 {// 写一个类,名为Animal private String name; private int leg; // 该类有两个私有属性,name(代表动物的名字), // 和legs(代表动物的腿的条数) public String getName() {// 添加属性的get和set方法//即是:为两个私有属性提供public的访问方法 return name; //比如 name999=getName(); 就访问了 } public void setName(String name) {// 添加属性的get和set方法 this.name = name; } public int getLeg() {// 添加属性的get和set方法 return leg; } public void setLeg(int leg) {// 添加属性的get和set方法 this.leg = leg; } public animal1(String name, int leg) {// 重载的构造方法,一个需要两个参数,分别用这两个参数给私有属性name和legs赋值 this.name = name; this.leg = leg; } public void animal() {// 无参,默认给name赋值为AAA,给legs赋值为4 this.name = "AAA"; this.leg = 4; } public void move(int n) {// 在屏幕上输出n次“XXX Moving!!” for (int i = 0; i < n; i++) System.out.println(name + " Moving!!"); } } class fish extends animal1 {// 子类fish public fish(String name) {// 该构造方法需要一个参数name,并给legs赋默认值0 super(name, 0); } public void move(int n) {// 覆盖Animal类中的void move(int n)方法 for (int i = 0; i < n; i++) System.out.println("XXX Swimming!!"); } } class bird extends animal1 {// 子类bird public bird(String name) {// 该构造方法需要一个参数name,并给legs赋默认值2 super(name, 2); } public void move(int n) { 覆盖Animal类中的void move(int n)方法 for (int i = 0; i < n; i++) System.out.println("XXX Flying!!"); } } public class TextZoo {// 测试类 public static void main(String[] args) { // TODO Auto-generated method stub animal1 ha = new animal1("XXX", 0);//生成若干个Animal,Fish和Bird的实例对象 animal1 bird = new bird("鸟");//如果没有public bird(String name),就不用加”鱼“ animal1 fish = new fish("鱼"); ha.move((int)(Math.random()*4+1));//参数n要求用Math.random()方法产生[1,4]之间的数 bird.move((int)(Math.random()*4+1)); fish.move((int)(Math.random()*4+1)); } }
最新回复(0)