JAVA网页编程之Jsdk5.0中新增列举enum范例利用例解
大型的应用一般不会用这些框架(因为性能考虑);开发人员根据需要选择用一些框架,也可以不选用框架;不用框架并不代表要自己写框架;修改框架的可能性更小。jsJunsanJin
日期:2005-03-25
邮箱:junsan21@126.com;junnef21@sohu.com
Jsdk5.0中新增了良多的特征,如泛型、加强的轮回、改善的装、拆箱、静态引进等,年夜年夜加强了java言语的易用性。
我如今正在做一个从com+(dcom)平台到j2ee平台移植的项目,两头有良多列举范例的界说,之前做起来要引进第三方类库,大概本人写类库,大概爽性界说成静态变量利用,很不便利,并且大概会发生良多成绩。Jsdk5.0的公布恰好办理了这些成绩。
这里就列举的使用举一个小例子申明,信任如许更简单了解java中列举的用法。
一般无值列举范例可界说成以下的情势:
privateenumMyColor{Red,Yellow,Blue}
但我们用的时分良多情形下会用到值,以是上面的测试类更能申明java中列举范例的壮大功效,代码以下:
classEnumTest
{
privateenumMyColor//界说一个MyColor的列举范例
{
Red(1),//界说列举范例的一个成员
Yellow(2),
Blue(3);
privatefinalintnum;//序号的存储属性,因为序号一般对照不乱不但愿被改动,以是声明成final
MyColor(intnum)//相似于类机关器的初始化体例,其会主动轮回给成员赋值
{
this.num=num;
}
privateintgetNum()//获得对应成员的序号
{
returnnum;
}
}
publicvoidshowColor()//表露给内部的会见接口
{
for(MyColormycolor:MyColor.values())//这里用的新的加强的轮回体例
System.out.println(mycolor+"="+mycolor.getNum());
MyColorscolor=MyColor.Blue;
System.out.println(scolor);
if(scolor.getNum()==3)//这里就是序号对照
{
System.out.println("true");
}
}
publicstaticvoidmain(Stringargs[])//测试我们的类
{
EnumTesttest=newEnumTest();
test.showColor();
}
}
在命令行下输出:
javac-source1.5EnumTest.java
注:有些5.0编译器默许以1.4.2为默许编译属性,以是,新特征没法辨认,因而,要在编译命令行中到场–source1.5指定利用新的特征。
编译文件,然后输出
javaEnumTest
运转了局为:
Red=1
Yellow=2
Blue=3
Blue序号为:3
True
关于列举范例的成员我们不但能够指定序号,还能够指定其多个属性,还能够写良多办法在内里,由于java中的列举就是面向对象的,是一个真实的类,就把java中的列举当做一个类操纵就好了。如sdk带的文档中的例子:
publicenumPlanet{
MERCURY(3.303e+23,2.4397e6),
VENUS(4.869e+24,6.0518e6),
EARTH(5.976e+24,6.37814e6),
MARS(6.421e+23,3.3972e6),
JUPITER(1.9e+27,7.1492e7),
SATURN(5.688e+26,6.0268e7),
URANUS(8.686e+25,2.5559e7),
NEPTUNE(1.024e+26,2.4746e7),
PLUTO(1.27e+22,1.137e6);
privatefinaldoublemass;//inkilograms
privatefinaldoubleradius;//inmeters
Planet(doublemass,doubleradius){
this.mass=mass;
this.radius=radius;
}
privatedoublemass(){returnmass;}
privatedoubleradius(){returnradius;}
//universalgravitationalconstant(m3kg-1s-2)
publicstaticfinaldoubleG=6.67300E-11;
doublesurfaceGravity(){
returnG*mass/(radius*radius);
}
doublesurfaceWeight(doubleotherMass){
returnotherMass*surfaceGravity();
}
}
详细请参考sdk文档中的$jdk-1_5_0-doc$docsguidelanguageenums.html。
对于一个大型项目,如果用java来作,可能需要9个月,并且可能需要翻阅10本以上的书,但如果用ruby来作,3个月,3本书就足够了,而.net也不过3,4本书足以,这就是区别。 http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) 不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。 是一种为 Internet发展的计算机语言 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能 是一种突破用户端机器环境和CPU Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能 是一种为 Internet发展的计算机语言 设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧 你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。 不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能 你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢? Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
页:
[1]