欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java多态 练习

程序员文章站 2024-03-05 12:46:12
...

选择

1、下列代码的运行结果为: C
Java多态 练习
2、创建一个父类Animal,一个子类Cat,Animal three = new Cat();不是 C
Java多态 练习
3、下列代码怎么修改可以使其成功运行: A
Java多态 练习
4、下列关于instanceof说法不正确的是 C
Java多态 练习
5、已知父类Person,子类Man。判断类Person的对象person1是否满足类Man的实例特征,正确的语句A
Java多态 练习
6、在Java中,多态的实现不仅能减少编码的工作量,还能大大提高程序的可维护性及可扩展性,那么实现多态的步骤包括以下几个方面除了 B
Java多态 练习
7、下面代码运行测试后,出现的结果是 D
Java多态 练习
8、下面代码怎么修改可以编译时不报错(多选) AD
Java多态 练习
9、下列选项中,关于Java的抽象类和抽象方法说法不正确的是 B
Java多态 练习

编程

1、应用继承和多态的思想,编写动物类,成员方法是动物叫声。写三个具体的类(猫、狗、羊),它们都是动物类的子类,并重写父类的成员方法。编写测试类,随机产生三种具体动物,调用叫声这个方法。
程序参考运行效果如图所示:
Java多态 练习

package project0723.demo1;

/**
 * 父类:动物类
 */
public abstract class Animal {
	// 成员属性:种类
	private String kind;

	// get/set方法
	public String getKind() {
		return kind;
	}

	public void setKind(String kind) {
		this.kind = kind;
	}

	// 无参构造器
	public Animal() {
		super();
	}

	// 带参构造器
	public Animal(String kind) {
		super();
		this.setKind(kind);
	}
	
	// 抽象方法cry
	public abstract void cry();
}

package project0723.demo1;

/**
 * 子类:猫类
 */
public class Cat extends Animal {

	@Override
	public void cry() {
		// TODO Auto-generated method stub
		System.out.println("小猫的叫声:喵喵喵~~~");
	}

}

package project0723.demo1;

/**
 * 子类:狗类
 */
public class Dog extends Animal {

	@Override
	public void cry() {
		// TODO Auto-generated method stub
		System.out.println("小狗的叫声:汪汪汪~~~");
	}

}

package project0723.demo1;

/**
 * 子类:羊类
 */
public class Sheep extends Animal {

	@Override
	public void cry() {
		// TODO Auto-generated method stub
		System.out.println("小羊的叫声:咩咩咩~~~");
	}

}

package project0723.demo1;

/**
 * 测试类
 */
public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		// 创建数组
		Animal[] arr = new Animal[5];
		// 存入数据
		for(int i = 0; i < arr.length; i++) {
			double random = Math.random() * 3;
			switch((int)random) {
				case 0: {
					arr[i] = new Cat();
					break;
				}
				case 1: {
					arr[i] = new Dog();
					break;
				}
				case 2: {
					arr[i] = new Sheep();
					break;
				}
			}
		}
		// 输出数组成员
		for(int i = 0; i < arr.length; i++) {
			arr[i].cry();
		}
	}

}

Java多态 练习