仓酷云

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

[学习教程] 来看java只读类

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

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

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

x
手机用到的是用j2me所编出来的小程序。
只管在一些特定的场所,由clone()发生的当地正本可以取得我们但愿的了局,但程序员(办法的作者)不能不亲身克制别号处置的反作用。假设想制造一个库,令其具有惯例用处,但却不克不及包管它一定能在准确的类中得以克隆,这时候又该怎样办呢?更有大概的一种情形是,假设我们想让别号发扬主动的感化——克制不用要的对象复制——但却不但愿看到由此酿成的反作用,那末又该怎样处置呢?
一个举措是创立“稳定对象”,令其附属于只读类。可界说一个特别的类,使个中没有任何办法能形成对象外部形态的改动。在如许的一个类中,别号处置是没有成绩的。由于我们只能读取外部形态,以是当多处代码都读取不异的对象时,不会呈现任何反作用。
作为“稳定对象”一个复杂例子,Java的尺度库包括了“封装器”(wrapper)类,可用于一切基础数据范例。人人大概已发明了这一点,假如想在一个象Vector(只接纳Object句柄)如许的汇合里保留一个int数值,能够将这个int封装到尺度库的Integer类外部。以下所示:
  1. //:ImmutableInteger.java
  2. //TheIntegerclasscannotbechanged
  3. importjava.util.*;
  4. publicclassImmutableInteger{
  5. publicstaticvoidmain(String[]args){
  6. Vectorv=newVector();
  7. for(inti=0;i<10;i++)
  8. v.addElement(newInteger(i));
  9. //Buthowdoyouchangetheint
  10. //insidetheInteger?
  11. }
  12. }///:~
复制代码
Integer类(和基础的“封装器”类)用复杂的情势完成了“稳定性”:它们没有供应能够修正对象的办法。
若的确必要一个包容了基础数据范例的对象,并想对基础数据范例举行修正,就必需亲身创立它们。侥幸的是,操纵十分复杂:
  1. //:MutableInteger.java
  2. //Achangeablewrapperclass
  3. importjava.util.*;
  4. classIntValue{
  5. intn;
  6. IntValue(intx){n=x;}
  7. publicStringtoString(){
  8. returnInteger.toString(n);
  9. }
  10. }
  11. publicclassMutableInteger{
  12. publicstaticvoidmain(String[]args){
  13. Vectorv=newVector();
  14. for(inti=0;i<10;i++)
  15. v.addElement(newIntValue(i));
  16. System.out.println(v);
  17. for(inti=0;i<v.size();i++)
  18. ((IntValue)v.elementAt(i)).n++;
  19. System.out.println(v);
  20. }
  21. }///:~
复制代码
注重n在这里简化了我们的编码。
若默许的初始化为零已充足(便不必要构建器),并且不必思索把它打印出来(便不必要toString),那末IntValue乃至还能加倍复杂。以下所示:
classIntValue{intn;}
将元素掏出来,再对其举行外型,这几显得有些愚笨,但那是Vector的成绩,不是IntValue的错。
大型的应用一般不会用这些框架(因为性能考虑);开发人员根据需要选择用一些框架,也可以不选用框架;不用框架并不代表要自己写框架;修改框架的可能性更小。
蒙在股里 该用户已被删除
沙发
发表于 2015-1-21 10:41:45 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
爱飞 该用户已被删除
板凳
发表于 2015-1-21 11:48:07 来自手机 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
只想知道 该用户已被删除
地板
发表于 2015-1-29 06:45:32 来自手机 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
再现理想 该用户已被删除
5#
发表于 2015-2-7 11:37:35 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
简单生活 该用户已被删除
6#
发表于 2015-2-21 19:46:11 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
小妖女 该用户已被删除
7#
发表于 2015-2-28 15:58:48 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
老尸 该用户已被删除
8#
发表于 2015-3-6 22:35:53 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
谁可相欹 该用户已被删除
9#
发表于 2015-3-10 17:13:38 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
柔情似水 该用户已被删除
10#
发表于 2015-3-12 10:47:43 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
因胸联盟 该用户已被删除
11#
发表于 2015-3-19 20:41:42 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
小女巫 该用户已被删除
12#
发表于 2015-3-27 14:11:00 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
变相怪杰 该用户已被删除
13#
发表于 2015-4-2 03:51:21 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
不帅 该用户已被删除
14#
发表于 2015-4-16 23:57:02 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
小魔女 该用户已被删除
15#
发表于 2015-4-17 11:26:43 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
精灵巫婆 该用户已被删除
16#
发表于 2015-4-20 11:02:28 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
山那边是海 该用户已被删除
17#
发表于 2015-4-20 19:42:44 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
兰色精灵 该用户已被删除
18#
 楼主| 发表于 2015-4-29 17:27:31 | 只看该作者
是一种突破用户端机器环境和CPU
第二个灵魂 该用户已被删除
19#
发表于 2015-5-1 14:10:48 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-16 15:15

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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