频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

再读Think In Java的感受(一)

来源: 作者:IT168 SunBoy 出处:巧巧读书 2008-02-11 进入讨论组
下一页 1 2 


     万物皆对象 
    (1) 用reference控制对象

    java 把一切当作对象,但实际上你操纵的那个标识符是对象的reference,就好比一支部队(对象)和这支部队的指挥部  (reference),我们如何操纵这个部队,很简单只要你去给这个指挥部下命令了。
注:即使没有对象,reference也可以独立存在.例 String s;只是创建了一个字符串类型的reference.如果这时候你往s发送信息,你就会得到一个错误.

    Java 对象的标识符,实际上是object reference,所有东西实际是以by value的方式传递的,一句话可以概括为“以by value 的方式传递 object reference” 

    (2) 你必须创建所有的对象
    用new 关键词来完成,new 的意思是:给我创建一个新的那种类型的对象。String s = new String (“abc”);
数据的存放位置通常有:寄存器(处理器里),栈(内存里准确得说是常规内存区),堆(多用途内存区),静态存储(内存),固定存储,非内存存储 primitive类型(char,byte,short,int,long,float,double,boolean)

    (3 ) java中的数组
    实际上所有的编程语言都是数组(不解)
    在java当中当你创建一个数组对象的时候,实际上你是在创建reference的数组,这些reference会自动被初使化为null
注:当你试图使用一个仍为null的reference的时候,就会报错。
     作用域 java和c,c ++一样是由{}的位置决定.注:在作用域里定义的变量只能用到这个作用域的结尾.
    对象的作用域与primitive类型的变量不同.当你new一个对象后,如:

...{ String a = new String(“a string”); }
    a 这个reference会在作用域外面消失,但是 a 指向的String类型的对象仍然会占据内存。这时候大家可能会有疑问,java这样做会不会创建好多没有reference指着的无用的对象把内存全部占据呢??
这个问题大家可以不必担心:因为java有垃圾回收机制:垃圾回收器(gabage collector)它会替你照管这些对象,如果没有reference指着这个对象,那个它就会释放这个对象占据的内存.(very good),这样内存空间有可以重复利用了.

    (4 ) 创建新的数据类型 
    java同样使用了大多数面向对象语言使用的关键词:class
    你可以往类里放两种元素: 数据(field又可以称:数据成员)以及方法(method又可以称:成员函数)
    数据可以是primitive类型的变量,也可以是对象的reference,注:如果为reference你必须用一种称做构造函数的特殊方法进行初始化.这样才能确保reference连上真实的对象。如果是primitive类型的变量,你可以在定义的时候就对它初始化,如果你没有这样做,java会给类里primitive类型的变量一个初始指(具体参照think in java)观看地址: http://www.qqread.com/java/2008/02/e396793.html 更多文章 更多内容请看Java环境安装配置Java编程开发手册专题,或进入讨论组讨论。
下一页 1 2 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章