再现理想 发表于 2015-1-18 11:42:48

JAVA网页编程之Java的“对象头脑”进修条记[二]

没有那个大公司会傻了吧唧用.net开发大型项目,开发了,那等于自己一半的生命线被微软握着呢。而.net不行,限制在window系统,又是捆绑,鄙视微软之!条记|对象在这篇文章里我将先容一些Java关于对象的基础处置形式的成绩。
起首看一个有关对象相称性(Objectequivalence)的例子:
先看上面的代码:
publicclassEqualTest1{
publicstaticvoidmain(String[]args){
Integern1=newInteger(20);
Integern2=newInteger(20);
System.out.println(n1==n2);
System.out.println(n1!=n2);
}
}
程序的目标是输入括号中的对照了局(boolean值),初度打仗Java的人很简单的以为输入了局为先true尔后false。
但实践上了局是先false尔后true,由于固然两个Integer对象的值是不异的,其reference却分歧。(注:有关reference的寄义在我的上一篇进修条记上有过先容,这里不再赘述。)
为懂得释下面这个成绩,我们应当懂得Java关于对象的基础处置形式:
当你操纵某个对象时,你所操纵的实际上是它的reference,好比A=B这个式子,就会将A和B都指向本来B所指向的对象,假如你改动了A的内容,那末同时也就变动了B的内容!由于A和B内含统一个objectreference。
本来A中所贮存的reference,在赋值的过程当中被覆写了,实践上就是丢失失落了,由于渣滓接纳器(garbagecollector)会在得当机会清算该reference底本指向的谁人对象。

那末怎样晓得对象的内容是不是相称呢?这里就要用到equals(),请看上面的代码:
publicclassEqualTest2{
publicstaticvoidmain(String[]args){
Integern1=newInteger(20);
Integern2=newInteger(20);
System.out.println(n1.equals(n2));
}
}
如许输入的就是我门所希冀的true了。然后,事变其实不会云云复杂,假如创建自有的class,那末事变会怎样呢?请看相面的代码:
classValue{
inti;
}

publicclassEqualTest3{
publicstaticvoidmain(String[]args){
Valuev1=newValue();
Valuev2=newValue();
v1.i=v2.i=20;
System.out.println(v1.equals(v2));
}
}

了局又输入了false,这是为何呢??
实在,equals()的缺省举动是拿reference来对照,以是除非在你的class中覆写(override)equals(),不然不会失掉预期的了局,而Java尺度程序库中的年夜多半class都覆写了equals(),以是他们城市对照对象的内容是不是不异,如许一来,下面的成绩就不难明决了。

有关覆写(override)手艺将在从此深切的文章中先容:)


大型的应用一般不会用这些框架(因为性能考虑);开发人员根据需要选择用一些框架,也可以不选用框架;不用框架并不代表要自己写框架;修改框架的可能性更小。

小魔女 发表于 2015-1-21 13:03:03

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

莫相离 发表于 2015-1-29 06:58:10

至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。

爱飞 发表于 2015-2-7 03:55:49

Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

再见西城 发表于 2015-2-20 10:42:36

有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)

透明 发表于 2015-3-1 22:53:41

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

灵魂腐蚀 发表于 2015-3-5 14:39:01

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

深爱那片海 发表于 2015-3-7 21:46:16

一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。

再现理想 发表于 2015-3-15 14:38:33

你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。

简单生活 发表于 2015-3-22 01:17:14

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

蒙在股里 发表于 2015-3-22 21:11:04

是一种为 Internet发展的计算机语言

分手快乐 发表于 2015-3-24 13:51:12

至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。

老尸 发表于 2015-3-29 20:51:07

至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。

愤怒的大鸟 发表于 2015-4-16 02:00:28

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

只想知道 发表于 2015-4-16 11:11:46

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

仓酷云 发表于 2015-4-22 08:00:12

Java是一种计算机编程语言,拥有跨平台、面向对java

海妖 发表于 2015-4-25 09:32:11

关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。

不帅 发表于 2015-4-27 09:16:38

关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。

小妖女 发表于 2015-5-1 05:16:59

Java是一种计算机编程语言,拥有跨平台、面向对java

冷月葬花魂 发表于 2015-6-26 13:41:45

应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
页: [1]
查看完整版本: JAVA网页编程之Java的“对象头脑”进修条记[二]