若相依 发表于 2015-1-18 11:36:21

了解下JAVA的java常数分组

你说是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;
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这些最基本的,嘿嘿,就算你是高手的话,在大行的企业级应用的话还是需要框架的,一个好的框架确实能构解决许多问题。

飘飘悠悠 发表于 2015-1-21 10:52:55

是一种语言,用以产生「小应用程序(Applet(s))

柔情似水 发表于 2015-1-23 14:01:20

任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言

admin 发表于 2015-1-24 16:37:58

J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。

活着的死人 发表于 2015-2-2 10:57:28

在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

再现理想 发表于 2015-2-7 18:10:21

Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。

若相依 发表于 2015-2-22 20:15:47

是一种将安全性(Security)列为第一优先考虑的语言

深爱那片海 发表于 2015-3-6 14:17:23

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

莫相离 发表于 2015-3-11 03:03:16

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

仓酷云 发表于 2015-3-17 19:10:44

你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。

透明 发表于 2015-3-21 01:55:06

Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)

金色的骷髅 发表于 2015-3-31 09:54:04

那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!

兰色精灵 发表于 2015-4-3 09:17:29

是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言

爱飞 发表于 2015-5-10 22:20:59

另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。

灵魂腐蚀 发表于 2015-6-15 23:01:00

让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。

因胸联盟 发表于 2015-6-24 05:25:20

是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能

若天明 发表于 2015-6-29 09:01:52

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

老尸 发表于 2015-7-3 21:03:30

是一种使网页(Web Page)产生生动活泼画面的语言

谁可相欹 发表于 2015-7-9 06:20:37

另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。

再见西城 发表于 2015-7-10 03:38:36

你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
页: [1]
查看完整版本: 了解下JAVA的java常数分组