再现理想 发表于 2015-1-18 11:00:08

了解下JAVA的Effective Java (2) 碰到多个机关器参数时要思索用构建器

j2EE和asp比较,其实也没什么比的,原因和我上面说那些比较差不了多少,也是稳定性,安全性,J2EE比asp高,速度上比不过asp,asp也是延续着它的拖拽控件的方法,提高速度。
1、背景
关于有多个可选参数的类,我们一样平常经由过程甚么举措传送参数呢?这里供应了三种举措:
①.堆叠机关器形式
②.JavaBeans形式
③.Builder构建器形式
上面我们来剖析一下以上三种办法的上风及坏处。
2、堆叠机关器形式
堆叠机关器形式中第一个机关器中只要需要参数,第二个机关器有一个可选参数,第三个机关器中有两个可选参数,顺次类推,最初一个机关器中包括一切可选参数。这类计划可行,可是有较年夜缺点。
弱点:当有良多可选参数的时分,客户端代码很难编写,并难以浏览,假如客户端不当心倒置了个中两个参数的按次,编译器也不会报错,可是程序在运转时会呈现毛病的举动。

/*
*机关器形式
*/
publicclassNutritionFacts1{
privateinta1;//必需
privateinta2;//必需
privateinta3;//可选
privateinta4;//可选

publicNutritionFacts1(inta1,inta2){
this(a1,a2,0);
}

publicNutritionFacts1(inta1,inta2,inta3){
this(a1,a2,0,0);
}

publicNutritionFacts1(inta1,inta2,inta3,inta4){
this.a1=a1;
this.a2=a2;
this.a3=a3;
this.a4=a4;
}

publicintgetA1(){
returna1;
}

publicvoidsetA1(inta1){
this.a1=a1;
}

publicintgetA2(){
returna2;
}

publicvoidsetA2(inta2){
this.a2=a2;
}

publicintgetA3(){
returna3;
}

publicvoidsetA3(inta3){
this.a3=a3;
}

publicintgetA4(){
returna4;
}

publicvoidsetA4(inta4){
this.a4=a4;
}

publicStringtoString(){
returna1+"-"+a2+"-"+a3+"-"+a4;
}

publicstaticvoidmain(String[]args){
NutritionFacts1nf=newNutritionFacts1(1,2,3,4);
System.out.println(nf);
}
}检察本栏目更多出色内容:http://www.bianceng.cn/Programming/Java/
<p>
什么时候上述的三种开发工具能和三为一,什么时候java的竞争力才更强,才有机会拉拢更多的程序员投入到对java的开发上,因为到时的开发工具将会比.net的更简单。还有一点也很关键,什么时候java推出的jsf能成为真正意义上的标准。

仓酷云 发表于 2015-1-19 16:36:28

当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?

飘飘悠悠 发表于 2015-1-24 14:50:33

你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。

admin 发表于 2015-2-1 17:03:28

《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。

金色的骷髅 发表于 2015-2-7 10:28:49

科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

海妖 发表于 2015-2-21 18:32:53

如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。

莫相离 发表于 2015-3-6 20:55:24

你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?

只想知道 发表于 2015-3-13 08:27:44

学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。

简单生活 发表于 2015-3-20 17:25:56

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
页: [1]
查看完整版本: 了解下JAVA的Effective Java (2) 碰到多个机关器参数时要思索用构建器