Educoder–Java抽象类和接口 第1关:Fruit类

任务描述本关任务:
通过编程实例,掌握抽象类、接口的定义和使用。

抽象类的理解
如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就 是抽象类。
说明:在Java语言中使用abstract class来定义抽象类。
定义:

public abstract class 类名{}

编程要求
Apple,Banana,Pear,Fruit,DynamicBind五个类的文件已创建好,现在需要根据以下要求,补全这五个类中的代码。

  • 定义抽象类Fruit,拥有抽象方法show()和成员brand
  • 定义Apple,Banana和Pear三个类,都分别继承了抽象类Fruit,实现了方法show()去输出水果的品牌(brand)
  • 在类DynamicBind中定义Fruit的一个引用,分别赋予三个子类对象,并查看效果(顺序为Apple,Pear,Banana)。

这三个对象中的品牌分别是(“红富士苹果”,“香梨”,“仙人蕉”)

Fruit类

package step1;
public abstract class Fruit {
    protected String brand;
    public abstract void show();
}

Apple类

package step1;
public class Apple extends Fruit{
    public Apple(){
        this("黄金苹果");
    }
    public Apple(String brand){
        this.brand=brand;
    }
    public void show() {
        System.out.println("Apple:"+brand);
    }
}

Pear类

package step1;
public class Pear extends Fruit{
    public Pear(){
        this("水晶梨");
    }
    public Pear(String brand){
        this.brand=brand;
    }
    public void show() {
        System.out.println("Pear:"+brand);
    }
}

Banana类

package step1;
public class Banana extends Fruit{
    public Banana(){
        this("千层蕉");
    }    
    public Banana(String brand){
        this.brand=brand;
    }
    public void show() {
        System.out.println("Banana:"+brand);        
    }
}

DynamicBind类

package step1;
public class DynamicBind {
    public static void main(String[] args) {
        Fruit f=new Apple("红富士苹果");
        f.show();
        f=new Pear("香梨");
        f.show();
        f=new Banana("仙人蕉");
        f.show();
    }
}

你可能感兴趣的:(Educoder,java,抽象类)