Java(16):多态性

package zzz;

//    《创建多态》

public class Demo1 {

    public static void main(String[] args) {
        
        Fish fish = new Fish();
        fish.eat();

        Rice rice = new Rice();
        rice.eatSomething();
        
        Apple apple = new Apple();
        apple.eatFruit();
    }

}

class Food {
    protected String food = "food";
    public void eat() {
        System.out.println("eat "+food);
    }
}

class Fish extends Food {
    private String food = "fish";
    @Override
    public void eat() {
        System.out.println("eat "+ super.food + ", such as "+this.food);
    }
}

abstract class Something {
    protected String something = "something";
    public abstract void eatSomething();
}

class Rice extends Something {
    private String something = "rice";
    public void eatSomething() {
        System.out.println("eat "+super.something+", such as "+this.something);
    }
}

interface Fruit {
//    fruit默认修饰符 public static final 
    String fruit = "fruit";
    public void eatFruit();
}

class Apple implements Fruit {
//    疑问:如何访问Fruit接口里的fruit成员变量?
    private String fruit = "apple";
    @Override
    public void eatFruit() {
        System.out.println("eat "+ this.fruit +" ...");
    }
}

 

posted @ 2020-11-21 00:39  柯南同学  阅读(70)  评论(0编辑  收藏  举报