A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

java中覆盖枚举的方法怎么用,为什么用

评分

参与人数 1黑马币 +6 收起 理由
FFF + 6 问题问得不太具体,只能给点金币了~~~.

查看全部评分

4 个回复

倒序浏览
你说的是toString()方法吧,
当你需要将枚举类中的一些变量打印出来的时候可以覆写这个方法,使他按照自己的方式输出。

可以百度下,找个例子看看就明白了,不在赘述

评分

参与人数 1黑马币 +3 收起 理由
FFF + 3 你和楼主一样是水货~~~嘎嘎~~~

查看全部评分

回复 使用道具 举报
覆盖枚举方法是Java枚举常见7种用法之一,为什么用是实现多态吧。还是请大神科普科普吧!
例子:
public   enum  Color {  
    RED("红色" ,  1 ), GREEN( "绿色" ,  2 ), BLANK( "白色" ,  3 ), YELLO( "黄色" ,  4 );  
    // 成员变量   
private  String name;  
    private   int  index;  
    // 构造方法   
private  Color(String name,  int  index) {  
        this .name = name;  
        this .index = index;  
    }  
    //覆盖方法   
@Override   
    public  String toString() {  
        return   this .index+ "_" + this .name;  
    }  
}

说得不对,请大家指出,谢谢

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 赞一个!

查看全部评分

回复 使用道具 举报
如果是覆盖toString()方法的话,打印对象其实就是打印toString的返回值,看下面程序
  1. public class FileTest {
  2.         public static void main(String[] args){
  3.                 Person p=new Person();
  4.                 System.out.println(p);
  5.         }
  6. }
  7. class Person{
  8.         private String name;
  9.         public String toString(){
  10.                 return "HelloJava!!";
  11.         }
  12. }
复制代码
结果是HelloJava、
可以猜想出在打印对象的时候,对象是默认的调用了toString方法

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 很给力!

查看全部评分

回复 使用道具 举报
我。。 F3版主 神回复啊。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马