一直觉得这个很恶心 和注解一样
完全不符合类的规范 用起来就稀里糊涂的
其实改变思维就好了,取出来的时候当作一个静态变量就好很多
难理解的点就是就是生成的时候,apple不需要""
可以这么想 一般是Fruit apple = new Fruit(a,b,c) 这里不过是变成 apple(a,b,c) 还简洁了
两点
- 属性是暴露的,私有没用,所以更不需要get方法
- 可以有方法,具体对象甚至支持重写
- 需要有构造方法
class Test1{
public static void main(String[] args) {
Fruit.cce.say();
}
enum Fruit{
//这里相当于新建一个对象 读一份
//并且是在类内部生成
//不然就很难理解 就直接当成
apple("越南"),banana("老挝"),coconut("泰国"),
cce("china"){
@Override
public void say(){
System.out.println("我嫩爹男人就该干男人");
}
};
//即使是私有 也可以访问
private String chandi;
Fruit(String chandi) {
this.chandi = chandi;
}
//重写方法 怎么重写方法
public void say(){
System.out.println("吃个桃桃有点凉凉");
}
}
输出我嫩爹