黑马程序员技术交流社区

标题: java中覆盖枚举的方法怎么用,为什么用 [打印本页]

作者: 冷漠无天    时间: 2013-11-21 09:07
标题: java中覆盖枚举的方法怎么用,为什么用
java中覆盖枚举的方法怎么用,为什么用
作者: aspoMAN    时间: 2013-11-21 10:17
你说的是toString()方法吧,
当你需要将枚举类中的一些变量打印出来的时候可以覆写这个方法,使他按照自己的方式输出。

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

作者: 菜不鸟    时间: 2013-11-21 19:33
覆盖枚举方法是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;  
    }  
}

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


作者: 终结者    时间: 2013-11-21 19:43
如果是覆盖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方法
作者: aspoMAN    时间: 2013-11-21 20:10
我。。 F3版主 神回复啊。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2