理解Enum类中的Java 7隐式方法调用

时间:2014-07-07 00:40:12

标签: java oop enums this

我是Java新手,我正在学习语言基础知识。

有人可以向我解释当没有函数调用时如何调用toString方法?我认为这与第二行的实际枚举词有关,例如:

KALAMATA(“Kalamata”),LIGURIO(“Ligurio”)......

此枚举类的整个目的是使ENUM值不会以全部大写字符显示在屏幕上。

有人可以解释一下如何在这个类中使用toString方法吗?就像它何时被称为?怎么称呼?

public enum OliveName {

    KALAMATA("Kalamata"),LIGURIO("Ligurio"),PICHOLINE("Picholine"),GOLDEN("Golden");

    private String nameAsString;

    //for enum classes, the constructor must be private
    private OliveName(String nameAsString) {
        this.nameAsString = nameAsString;
    }

    @Override
    public String toString() {
        return this.nameAsString;
    }
}

1 个答案:

答案 0 :(得分:0)

非常像任何物体。

OliveName oliveName = OliveName.KALAMATA;
System.out.println(oliveName.toString());

System.out.println(oliveName);