Java对象的初始化
2024-09-01 13:38:03
昨天写的代码被殷老师诟病了,因为太「丑陋」。
原来我的代码结构是这样的:
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";
.......
}
后面还有更多的c的初始化。
也就是class->function->inner-class。因为我发现好像class里面不能直接放一个class,必须在一个function里面才能再放一个class。
殷老师觉得这样写太丑了。
他建议这样:
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;
}
}
把ColorX写在了ColorRecognizor的外面(是否可以写在另外一个文件里呢?那样可能更好)。
用构造函数初始化的方法,确实非常值得学习,这样写也好看多了。但是有个问题,就是颜色(KEY)和颜色值(VALUE)不容易用肉眼一一对应,万一出错,难以寻找。
明天再说。
最新文章
- html websocket
- entity
- Google Nexus5在linux下刷原生安卓 android6.0
- 论Postgres的“已提交的而且 xmin’比当前事务的XID小的记录对当前事务才是可见的”
- 【转】SQLServer XML类型
- ylbtech-Recode(记录)-数据库设计
- 一个介绍webrtc的国外网址
- 【转】Ofbiz学习经验谈
- HW2.10
- Java NIO与IO的差别和比較
- Java 舍入模式 数字的格式化
- Visual Studio 20**自动添加头部注释信息
- JavaScript Array 技巧
- css的背景background的相关属性
- nake_api_protect 请求保护器——防止请求被恶意刷
- SpringBoot项目打成一个war包
- Android为TV端助力 自定义动画
- Web 自动化测试框架 sweetest 介绍
- bootstrap selectpicker 通过代码指定选中值 BootStrap selectpicker后台动态绑定数据 selectpicker 获取选中option的属性或者值
- PY3 周总结 第一周
热门文章
- mysql数据库连接状态,不要做修改数据库表结构的操作;数据库迁移操作;
- JS里面的call, apply以及bind
- 线性回归,logistic回归分类
- jsp网页在浏览器中不显示图片_eclipse环境下配置tomcat中jsp项目的虚拟路径
- Go语言阅读小笔记,来自知呼达达关于unsafe.Pointer的分享.
- C 标准库 - <;signal.h>;
- 串匹配算法之BM算法
- java 堆和栈一般理解
- Linux学习笔记——例说makefile 综合案例
- 物联网网络编程和web编程