码迷,mamicode.com
首页 > 编程语言 > 详细

Java对象的初始化

时间:2014-06-08 23:39:43      阅读:296      评论:0      收藏:0      [点我收藏+]

标签:c   style   class   blog   code   java   

昨天写的代码被殷老师诟病了,因为太「丑陋」。

原来我的代码结构是这样的:

bubuko.com,布布扣
public class ColorRocognizer
{
    .....  
    public static void main(String args[]) {

    class ColorX {
            public String colorName = "";
            public String colorStr = "";
        }//两个成员变量。
    }
    ColorX[] c;
        c = new ColorX[32];
    for (int i = 0; i < 32; i++) {
            c[i] = new ColorX();}
     c[0].colorName = "RED";
        c[0].colorStr = "FF0000";
        c[1].colorName = "GREEN";
        c[1].colorStr = "00FF00";
        c[2].colorName = "BLUE";
        c[2].colorStr = "0000FF";
        c[3].colorName = "GREY";
        c[3].colorStr = "808080";
        c[4].colorName = "WHITE";
        c[4].colorStr = "FFFFFF";
      .......
}
bubuko.com,布布扣

后面还有更多的c的初始化。

也就是class->function->inner-class。因为我发现好像class里面不能直接放一个class,必须在一个function里面才能再放一个class。

殷老师觉得这样写太丑了。

他建议这样:

bubuko.com,布布扣
public class ColorRecognizerByMrYin {

    private static final String [] colorName = {"RED","GREEN","BLUE","GREY","WHITE"};
    
    private static final String [] colorStr = {"FF0000","00FF00","0000FF","808080","FFFFFF"};

    public static void main(String args[]) {

    ColorX[] c;
        c = new ColorX[32];
        for (int i = 0; i < 32; i++) {
            c[i] = new ColorX(colorName[i],colorStr[i]);
        }
}
}
class ColorX {
    String colorName;//成员变量。
    String colorStr;
    public ColorX(String name, String str){//构造函数
        colorName = name;//在这里初始化。
        colorStr = str;
    }
}
bubuko.com,布布扣

把ColorX写在了ColorRecognizor的外面(是否可以写在另外一个文件里呢?那样可能更好)。

构造函数初始化的方法,确实非常值得学习,这样写也好看多了。但是有个问题,就是颜色(KEY)和颜色值(VALUE)不容易用肉眼一一对应,万一出错,难以寻找。

明天再说。

Java对象的初始化,布布扣,bubuko.com

Java对象的初始化

标签:c   style   class   blog   code   java   

原文地址:http://www.cnblogs.com/larrylawrence/p/3775385.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!