|
1、设计1个抽象类(假设为A,至少包含一个抽象方法)、1个接口(假设为B,至少包含一个抽象方法)。
2、设计1个类C继承A,并且实现接口B。
3、设计1个类D继承A,并且实现接口B。
4、在测试类的main函数中,通过抽象类A的引用调用实现多态,通过接口B的引用调用实现多态。
所有类名自己定义,以上A、B、C、D均为假设。
/**
* 水果抽象类
*/
public abstract class Fruit {
//获取重量
abstract public double getWeight();
}
/**
*商品接口类
*/
public interface Product {
//打印商品信息
public void printInfo(String message);
}
/**
*
*香蕉类 继承 抽象类 实现接口
*
*/
public class Banana extends Fruit implements Product{
private double weight;//定义 重量
public Banana(double weight) {
this.weight = weight;
}
//获取重量
public double getWeight() {
return weight;
}
//打印商品信息
public void printInfo(String message) {
System.out.println("这是香蕉:"+message);
}
}
/**
* 橙子类 继承 抽象类 实现接口
*/
public class Orange extends Fruit implements Product {
private double weight;//定义 重量
public Orange(double weight) {
this.weight = weight;
}
//重写体重方法
public double getWeight() {
return weight;
}
//打印商品信息
public void printInfo(String message) {
System.out.println("这是橙子:"+message);
}
}
public class Test {
public static void main(String[] args) {
//在测试类的main函数中,通过抽象类A的引用调用实现多态,通过接口B的引用调用实现多态
Fruit fruit=new Orange(9);
double weight=fruit.getWeight();
System.out.println("橙子重量为:"+weight);
Product product=new Orange(12);
product.printInfo("又香又甜,6块钱一斤");
}
}
|
|