仓酷云
标题:
了解下JAVA的座谈Java程序计划中的接口使用
[打印本页]
作者:
乐观
时间:
2015-1-18 11:28
标题:
了解下JAVA的座谈Java程序计划中的接口使用
但是一些大型开发或者是保密型比较高的项目都会用java,原因有2点,一:java是开源的,不怕别人留后门,偷我工具,.net网页编程就不一样了,保持微软的一向风格,源代码不公开
Java言语供应了一种接口(interface)机制。这类接口机制使Java的面向对象编程变得加倍天真。我们能够用接口来界说一个类的体现情势,但接口不克不及包括任何完成。在《ThinkinginJava》一书中,作者对接口有如许的形貌:“接口(interface)比笼统(abstract)的观点更进了一步。你能够把一个接口当作是一个纯的笼统类。”我以为作者对接口的这一注释再正确不外了。
了解并用好接口机制将匡助我们更好的把握Java这类面向对象的编程言语。上面我们来会商一下接口的利用划定规矩和相干的使用。
1、接口的界说及完成
界说接口和界说类类似,只是要把class关头字换为interface。界说办法时只必要办法名,前往范例和参数列表,不克不及无方法体。接口中能够界说字段,这些字段都被暗指为static和final,因而应当依据必要先定好这些字段的值。比方:
publicinterfaceFlyable{
voidfly();
}
publicinterfaceTalkable{
voidtalk();
}
publicinterfaceMessage{
intMAX_SIZE=4096;
StringgetMessage();
}
下面界说的几个接口中,Flyable和Talkable只界说了一个办法,而Message里除办法外另有一个字段MAX_SIZE。能够看出这些接口只界说了类的体现情势,而不包括任何完成,以是不克不及间接利用。要利用这些接口就必要有响应的类往完成它们。完成接口时应当先在类名后用implements关头字声名将要完成的接口,假如要完成多个接口,应当用逗号将它们离隔,然后逐一完成这些接口中界说的办法。以下面的例子:
publicclassParrotimplementsFlyable,Talkable{
publicvoidfly(){
System.out.println("Flyinglikeaparrot…");
}
publicvoidtalk(){
System.out.println("Hello!Iamaparrot!");
}
}
publicclassTextMessageimplementsMessage{
Stringmessage;
publicvoidsetMessage(Stringmsg){
message=msg;
if(message.length()>MAX_SIZE)
message=message.substring(0,MAX_SIZE);
}
publicStringgetMessage(){
returnmessage;
}
}
在Parrot(鹦鹉)例子中,我们用接口Flyable来暗示航行才能,Talkable暗示措辞才能,但它们其实不包括详细完成。而Parrot同时具有这两种才能,以是我们为Parrot类同时完成了Flyable和Talkable这两个接口。一样我们还能够界说一个Swallow(燕子)类,但燕子只要航行才能,以是我们只必要为Swallow完成Flyable就好了。由于它们各自的的航行办法有所分歧,以是它们有各自关于航行的详细完成。
别的,正由于一个类能够同时完成多个接口,使得Java的面向对象特征变得十分天真。使用这类特征,我们能够完成相似C++言语中多承继那样的特征,乃至更天真的一些特征。上面我们来会商一下接口在实践中的使用。
2、用接口来界说一些全局变量
由于接口内的字段都是static和final的,以是我们能够很便利的使用这一点来创立一些常量。比方:
publicinterfaceConstants{
StringROOT="/root";
intMAX_COUNT=200;
intMIN_COUNT=100;
}
在利用时能够间接用Constants.ROOT如许的情势来援用个中的常量。我们还能够用上面这类办法来创立初始值不断定的常量。
publicinterfaceRandomColor{
intred=Math.random()*255;
intgreen=Math.random()*255;
intblue=Math.random()*255;
}
个中red、green和blue的值会在第一次被会见时创建,然后坚持稳定。
<p>
其实你不用Struts,spring这些工具,直接用jsp,servlet能够很方便地写出来,而且,可以根据个人的水平、爱好,有很多方案。而struts,spring这些工具的出来。
作者:
活着的死人
时间:
2015-1-21 07:41
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
作者:
兰色精灵
时间:
2015-1-23 18:33
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
作者:
深爱那片海
时间:
2015-1-24 12:17
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
作者:
冷月葬花魂
时间:
2015-1-26 21:52
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
作者:
第二个灵魂
时间:
2015-1-28 10:45
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
作者:
蒙在股里
时间:
2015-1-30 07:14
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
作者:
不帅
时间:
2015-2-2 11:14
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
作者:
谁可相欹
时间:
2015-2-7 18:36
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
作者:
若天明
时间:
2015-2-14 19:08
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
作者:
飘飘悠悠
时间:
2015-2-21 20:48
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
作者:
透明
时间:
2015-3-6 21:32
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
作者:
因胸联盟
时间:
2015-3-9 22:35
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
作者:
变相怪杰
时间:
2015-3-10 22:22
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
作者:
简单生活
时间:
2015-3-11 09:48
是一种为 Internet发展的计算机语言
作者:
愤怒的大鸟
时间:
2015-3-11 17:14
是一种突破用户端机器环境和CPU
作者:
若相依
时间:
2015-3-19 02:59
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
作者:
莫相离
时间:
2015-3-27 02:10
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
作者:
admin
时间:
2015-3-27 02:10
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2