仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1186|回复: 19
打印 上一主题 下一主题

[学习教程] JAVA教程之java的“别号”和clone机制

[复制链接]
第二个灵魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:50:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
有了这样一个呼声:让java代替C语言成为基本语言。这些足以说明java简单易学的这个优点。其次,java的功能强大,前面我也提到了,EJB3.0的推出使java成为了大型项目的首选。甚么是别号?用个复杂的例子申明publicclassAliases{inti;publicAliases(){i=1;}publicAliases(inti){this.i=i;}publicstaticvoidmain(Stringargs[]){AliasesA=newAliases();AliasesB=A;//A和B指向了统一个对象,A和B互为别号System.out.println("A.iandB.i:"+A.i+""+B.i);System.out.println("增添B:");B.i++;System.out.println(("A.iandB.i:"+A.i+""+B.i);}}输入:A.iandB.i:11增添B:A.iandB.i:22很分明,A和B指向了统一个对象,B=A这个操纵只是把A的援用复制给了B,而对象并未拷贝。java是经由过程Rerference来操纵对象的,下面是一个显式别号的例子,当你往函数内传送对象时也会产生别号,以下:publicclassAliases{inti;publicAliases(){i=1;}publicAliases(inti){this.i=i;}publicIncrement(AliasesAS){AS.i++;}publicstaticvoidmain(Stringargs[]){AliasesA=newAliases();System.out.println("A.ibeforeIncrement:"+A.i);Increment(A);System.out.println("A.iafterIncrement:"+A.i);}}你能够看到A在经由函数Increment()的挪用后i的值产生了变更。在某种情形下,你大概不但愿传进的对象产生变更,但愿函数内的对象只是传进对象的正本,对这个正本的改动不至于影响本来的对象,那该怎样处置?我们晓得C++是经由过程把参数声了然const,就意味着此参数不成改动,可是别忘了,C++有所谓的拷贝机关函数,以是在函数中的对象的确是拷贝,而java并未撑持拷贝机关函数,缘故原由很分明,java传送对象的援用,你就算拷贝也只是援用的拷贝罢了(以是有人说java实质上只要传值)。那末就没举措了吗?有的,那就是“克隆机制”,在根类Object已界说了clone()办法,你所要做的只是完成cloneable接口,并覆写clone()办法,典范的使用以下classCloneClassimplementsCloneable{publicintaInt;publicObjectclone(){CloneClasso=null;try{o=(CloneClass)super.clone();}catch(CloneNotSupportedExceptione){e.printStackTrace();}returno;}}挪用super.clone()办法,它会为你主动处置存储分派和复制操纵,从而完成了对象的深层拷贝。我们又晓得,同过serilization也能够完成对象的深层拷贝啊,为何不必这个?基本缘故原由在于效力上的伟大差别,clone()固然一入手下手好象很庞大,但究竟没有对象的读写那末泯灭资本。有了clone机制,你就能够在办法挪用外部打造一个对象的正本了,它是局域性,对它的任何操纵都不至于影响原对象的形态了。我团体以为,这点关于编写一个平安的年夜型程序长短常主要的。
Java的B/s开发是通常是javaweb开发,又叫J2EE开发,J2SE是手机开发。C#的C/s和B/s开发是说.net和Asp开发。。u在这里说明一点;资深一点的Java和C#程序员都明白一点
变相怪杰 该用户已被删除
沙发
发表于 2015-1-21 16:16:02 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
简单生活 该用户已被删除
板凳
发表于 2015-1-27 06:49:22 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
分手快乐 该用户已被删除
地板
发表于 2015-1-31 16:01:31 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
5#
发表于 2015-2-2 21:09:50 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
不帅 该用户已被删除
6#
发表于 2015-2-4 13:40:19 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
爱飞 该用户已被删除
7#
发表于 2015-2-4 19:50:43 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
再现理想 该用户已被删除
8#
发表于 2015-2-5 23:51:40 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
柔情似水 该用户已被删除
9#
发表于 2015-2-9 04:03:03 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
深爱那片海 该用户已被删除
10#
发表于 2015-2-17 03:48:34 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
小魔女 该用户已被删除
11#
发表于 2015-2-27 21:27:00 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
小女巫 该用户已被删除
12#
发表于 2015-2-28 18:53:46 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
莫相离 该用户已被删除
13#
发表于 2015-3-8 16:20:31 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
冷月葬花魂 该用户已被删除
14#
发表于 2015-3-16 04:25:26 | 只看该作者
是一种使网页(Web Page)产生生动活泼画面的语言
透明 该用户已被删除
15#
发表于 2015-3-21 18:09:32 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
飘灵儿 该用户已被删除
16#
发表于 2015-3-22 00:00:37 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
第二个灵魂 该用户已被删除
17#
 楼主| 发表于 2015-3-29 00:08:09 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
山那边是海 该用户已被删除
18#
发表于 2015-3-29 15:13:41 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
蒙在股里 该用户已被删除
19#
发表于 2015-4-1 16:57:11 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
谁可相欹 该用户已被删除
20#
发表于 2015-4-10 23:12:56 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 01:17

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表