冷月葬花魂 发表于 2015-1-18 11:34:52

了解下JAVA的笼统的使用

C#是不行的,比如说美国的航天飞船里就有java开发的程序以上是我的愚见,其实不管那种语言,你学好了,都能找到好的工作,
走到这一步,接上去该思索一下计划计划剩下的部分了——在那里利用类?既然回类到渣滓箱的举措十分不雅观且过于表露,为何不断绝谁人历程,把它埋没到一个类里呢?这就是出名的“假如必需做不雅观的事变,最少应将其当地化到一个类里”划定规矩。看起来就象上面如许:

<br>
如今,只需一种新范例的Trash到场办法,对TrashSorter对象的初始化就必需变化。能够设想,TrashSorter类看起来应当象上面这个模样:
classTrashSorterextendsVector{
voidsort(Trasht){/*...*/}
}
也就是说,TrashSorter是由一系列句柄组成的Vector(系列),而那些句柄指向的又是由Trash句柄组成的Vector;使用addElement(),能够安装新的TrashSorter,以下所示:
TrashSorterts=newTrashSorter();
ts.addElement(newVector());
可是如今,sort()却成为一个成绩。用静态体例编码的办法怎样对付一种新范例到场的现实呢?为办理这个成绩,必需从sort()里将范例信息删除,使其必要做的一切事变就是挪用一个通用办法,用它照顾触及范例处置的一切细节。这固然是对一个静态绑定办法举行形貌的另外一种体例。以是sort()会在序列中复杂地遍历,并为每一个Vector都挪用一个静态绑定办法。因为这个办法的义务是搜集它感乐趣的渣滓片,以是称之为grab(Trash)。布局如今酿成了上面如许:

<br>
个中,TrashSorter必要挪用每一个grab()办法;然后依据以后Vector包容的是甚么范例,会取得一个分歧的了局。也就是说,Vector必需寄望本人包容的范例。办理这个成绩的传统办法是创立一个基本“Trashbin”(渣滓筒)类,并为但愿包容的每一个分歧的范例都承继一个新的衍生类。若Java有一个参数化的范例机制,那就大概是最间接的办法。但关于这类机制应当为我们构建的各个类,我们不该该举行贫苦的手工编码,今后的“察看”体例供应了一种更好的编码体例。
OOP计划一条基础的原则是“为形态的变更利用数据成员,为举动的变更利用多性形”。关于包容Paper(纸张)的Vector,和包容Glass(玻璃)的Vector,人人最入手下手也许会以为分离用于它们的grab()办法一定会发生分歧的举动。但详细怎样却完整取决于范例,而不是其他甚么工具。可将其注释成一种分歧的形态,并且因为Java有一个类可暗示范例(Class),以是可用它判别特定的Tbin要包容甚么范例的Trash。
用于Tbin的构建器请求我们为其传送本人选择的一个Class。如许做可告知Vector它但愿包容的是甚么范例。随后,grab()办法用ClassBinType和RTTI来反省我们传送给它的Trash对象是不是与它但愿搜集的范例符合。
上面列出完全的办理计划。设定为正文的编号(如*1*)便于人人对比程序前面列出的申明。


//:RecycleB.java
//Addingmoreobjectstotherecyclingproblem
packagec16.recycleb;
importc16.trash.*;
importjava.util.*;

//Avectorthatadmitsonlytherighttype:
classTbinextendsVector{
ClassbinType;
Tbin(ClassbinType){
this.binType=binType;
}
booleangrab(Trasht){
//Comparingclasstypes:
if(t.getClass().equals(binType)){
addElement(t);
returntrue;//Objectgrabbed
}
returnfalse;//Objectnotgrabbed
}
}

classTbinListextendsVector{//(*1*)
booleansort(Trasht){
Enumeratione=elements();
while(e.hasMoreElements()){
Tbinbin=(Tbin)e.nextElement();
if(bin.grab(t))returntrue;
}
returnfalse;//binnotfoundfort
}
voidsortBin(Tbinbin){//(*2*)
Enumeratione=bin.elements();
while(e.hasMoreElements())
if(!sort((Trash)e.nextElement()))
System.out.println("Binnotfound");
}
}

publicclassRecycleB{
staticTbinbin=newTbin(Trash.class);
publicstaticvoidmain(String[]args){
//FilluptheTrashbin:
ParseTrash.fillBin("Trash.dat",bin);

TbinListtrashBins=newTbinList();
trashBins.addElement(
newTbin(Aluminum.class));
trashBins.addElement(
newTbin(Paper.class));
trashBins.addElement(
newTbin(Glass.class));
//addonelinehere:(*3*)
trashBins.addElement(
newTbin(Cardboard.class));

trashBins.sortBin(bin);//(*4*)

Enumeratione=trashBins.elements();
while(e.hasMoreElements()){
Tbinb=(Tbin)e.nextElement();
Trash.sumValue(b);
}
Trash.sumValue(bin);
}
}///:~
(1)TbinList包容一系列Tbin句柄,以是在查找与我们传送给它的Trash对象符合的情形时,sort()能经由过程Tbin承继。
(2)sortBin()同意我们将一个完全的Tbin传送出来,并且它会在Tbin里遍历,选择出每种Trash,并将其回类到特定的Tbin中。请注重这些代码的通用性:新范例到场时,它自己不必要任何修改。只需新范例到场(或产生其他事务)时大批代码都不必要变更,就标明我们计划的是一个简单扩大的体系。
(3)如今能够体味增加新范例有何等简单了。为撑持增加,只必要修改几行代码。如的确有需要,乃至能够进一步地改善计划,使更多的代码都坚持“流动”。
(4)一个办法挪用使bin的内容回类到对应的、特定范例的渣滓筒里。
因为能用到多少功能就用多少,不能用就不用!总的来说:要简单要性能好,可以不用框架。你说java复杂,就是因为你把java(j2ee)与这些框架混在了一起。

金色的骷髅 发表于 2015-1-21 10:29:53

应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展

因胸联盟 发表于 2015-1-29 06:27:09

设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧

山那边是海 发表于 2015-1-30 16:26:59

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

柔情似水 发表于 2015-2-4 12:34:25

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

海妖 发表于 2015-2-7 20:24:19

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

分手快乐 发表于 2015-2-10 23:46:16

http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。

再见西城 发表于 2015-3-1 17:53:30

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

愤怒的大鸟 发表于 2015-3-10 21:34:22

多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。

若天明 发表于 2015-3-17 10:28:04

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

简单生活 发表于 2015-3-22 01:10:11

Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站

精灵巫婆 发表于 2015-3-23 19:00:55

Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站

变相怪杰 发表于 2015-4-2 19:04:59

Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。

莫相离 发表于 2015-4-12 14:51:20

如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。

深爱那片海 发表于 2015-4-18 15:54:56

设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧

再现理想 发表于 2015-4-21 15:45:10

Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。

小妖女 发表于 2015-4-28 08:49:44

是一种使用者不需花费很多时间学习的语言

第二个灵魂 发表于 2015-4-29 05:08:46

所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。

活着的死人 发表于 2015-5-1 07:10:30

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

谁可相欹 发表于 2015-6-3 22:06:41

Java是一种计算机编程语言,拥有跨平台、面向对java
页: [1] 2
查看完整版本: 了解下JAVA的笼统的使用