|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你说是sun公司对她研究的透还是微软?针对自己工具开发的.net网页编程性能上肯定会站上风的。
因为置进一个接口的一切字段都主动具有static和final属性,以是接口是对常数值举行分组的一个好工具,它具有与C或C++的enum十分类似的效果。以下例所示:- //:Months.java
- //Usinginterfacestocreategroupsofconstants
- packagec07;
- publicinterfaceMonths{
- int
- JANUARY=1,FEBRUARY=2,MARCH=3,
- APRIL=4,MAY=5,JUNE=6,JULY=7,
- AUGUST=8,SEPTEMBER=9,OCTOBER=10,
- NOVEMBER=11,DECEMBER=12;
- }///:~
复制代码
注重依据Java定名划定规矩,具有流动标识符的staticfinal基础数据范例(亦即编译期常数)都全体接纳年夜写字母(用下划线分开单个标识符里的多个单词)。
接口中的字段会主动具有public属性,以是没需要专门指定。
如今,经由过程导进c07.*或c07.Months,我们能够从包的内部利用常数——就象对其他任何包举行的操纵那样。别的,也能够用相似Months.JANUARY的表达式对值举行援用。固然,我们取得的只是一个int,以是不象C++的enum那样具有分外的范例平安性。但与将数字强行编码(硬编码)到本人的程序中比拟,这类(经常使用的)手艺无疑已是一个伟大的前进。我们一般把“硬编码”数字的举动称为“把戏数字”,它发生的代码长短常难以保护的。
如的确不想保持分外的范例平安性,可构建象上面如许的一个类(正文①):- //:Month2.java
- //Amorerobustenumerationsystem
- packagec07;
- publicfinalclassMonth2{
- privateStringname;
- privateMonth2(Stringnm){name=nm;}
- publicStringtoString(){returnname;}
- publicfinalstaticMonth2
- JAN=newMonth2("January"),
- FEB=newMonth2("February"),
- MAR=newMonth2("March"),
- APR=newMonth2("April"),
- MAY=newMonth2("May"),
- JUN=newMonth2("June"),
- JUL=newMonth2("July"),
- AUG=newMonth2("August"),
- SEP=newMonth2("September"),
- OCT=newMonth2("October"),
- NOV=newMonth2("November"),
- DEC=newMonth2("December");
- publicfinalstaticMonth2[]month={
- JAN,JAN,FEB,MAR,APR,MAY,JUN,
- JUL,AUG,SEP,OCT,NOV,DEC
- };
- publicstaticvoidmain(String[]args){
- Month2m=Month2.JAN;
- System.out.println(m);
- m=Month2.month[12];
- System.out.println(m);
- System.out.println(m==Month2.DEC);
- System.out.println(m.equals(Month2.DEC));
- }
- }///:~
复制代码
①:是RichHoffarth的一封E-mail触发了我如许编写程序的灵感。
这个类叫作Month2,由于尺度Java库里已有一个Month。它是一个final类,并含有一个private构建器,以是没有人能从它承继,或制造它的一个实例。独一的实例就是那些finalstatic对象,它们是在类自己外部创立的,包含:JAN,FEB,MAR等等。这些对象也在month数组中利用,后者让我们可以按数字选择月份,而不是按名字(注重数组中供应了一个过剩的JAN,使偏移量增添了1,也使December的确成为12月)。在main()中,我们可注重到范例的平安性:m是一个Month2对象,以是只能将其分派给Month2。在后面的Months.java例子中,只供应了int值,以是原本想用来代表一个月份的int变量大概实践取得一个整数值,那样做大概不非常平安。
这儿先容的办法也同意我们互换利用==大概equals(),就象main()尾部展现的那样。
首先第一点:jsp,servlet,javabean这些最基本的,嘿嘿,就算你是高手的话,在大行的企业级应用的话还是需要框架的,一个好的框架确实能构解决许多问题。 |
|