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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郭宁 中级黑马   /  2012-5-17 10:25  /  1416 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. public class eunmTest {

  2.         /**
  3.          * @param args
  4.          */
  5.         public static void main(String[] args) {
  6.                 // TODO Auto-generated method stub
  7.                
  8.                 TrafficLamp t1 = TrafficLamp.RED;
  9.                 TrafficLamp t2 = TrafficLamp.GREEN;
  10.                 TrafficLamp t3 = TrafficLamp.YELLOW;
  11.                 System.out.println(t1.getValue());
  12.                 System.out.println(t2.getValue());
  13.                 System.out.println(t3.getValue());
  14.                
  15.                
  16. //                运行结果:
  17. //                enum的有参构造函数运行了
  18. //                enum的无参构造函数运行了
  19. //                enum的有参构造函数运行了
  20. //                1
  21. //                0
  22. //                1
  23. //      为何 输出不是   1 0 3 ??
  24.                
  25.         }
  26.        
  27.         public enum TrafficLamp{
  28.                 RED(1),GREEN,YELLOW(3);       
  29.                 private int value;
  30.                 TrafficLamp(){
  31.                         System.out.println("enum的无参构造函数运行了");
  32.                         this.value = 0;
  33.                 }
  34.                 TrafficLamp(int v){
  35.                         System.out.println("enum的有参构造函数运行了");
  36.                         this.value = 1;
  37.                 }
  38.                 public int getValue(){
  39.                         return this.value;
  40.                 }
  41.         }

  42. }
复制代码

3 个回复

倒序浏览
我错了~~~
因为是在初学 程序是一点一点跟着想法添加的~~
TrafficLamp(int v){

36.                        System.out.println("enum的有参构造函数运行了");

37.                        this.value = 1;//这里没改成   V~~  泪崩了

38.                }

回复 使用道具 举报
35.                TrafficLamp(int v){

36.                        System.out.println("enum的有参构造函数运行了");

37.                        this.value = 1;   //此处改为传人的参数v即可,

38.                }

eunm内部构造方法的调用,小问题,可能楼主没注意到,所以多注意下细节哦。
回复 使用道具 举报
李文富 发表于 2012-5-17 13:13
35.                TrafficLamp(int v){

36.                        System.out.println("enum的有参构 ...

嗯,木有看到。谢啦~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马