易截截图软件、单文件、免安装、纯绿色、仅160KB

Java对象、引用

Java对象及引用
    Java对象及引用是容易混淆却又必须掌握的基础知识,本章阐述Java对象和引用的概念,以及与其密切相关的参数传递。
    先看下面的程序:
    StringBuffer s;
    s = new StringBuffer("Hello World!");
    第一个语句仅为引用(reference)分配了空间,而第二个语句则通过调用类(StringBuffer)的构造函数StringBuffer(String str)为类生成了一个实例(或称为对象)。这两个操作被完成后,对象的内容则可通过s进行访问——在Java里都是通过引用来操纵对象的。
    Java对象和引用的关系可以说是互相关联,却又彼此独立。彼此独立主要表现在:引用是可以改变的,它可以指向别的对象,譬如上面的s,你可以给它另外的对象,如:
    s = new StringBuffer("Java");
    这样一来,s就和它指向的第一个对象脱离关系。
    从存储空间上来说,对象和引用也是独立的,它们存储在不同的地方,对象一般存储在堆中,而引用存储在速度更快的堆栈中。
    引用可以指向不同的对象,对象也可以被多个引用操纵,如:
    StringBuffer s1 = s;
    这条语句使得s1和s指向同一个对象。既然两个引用指向同一个对象,那么不管使用哪个引用操纵对象,对象的内容都发生改变,并且只有一份,通过s1和s得到的内容自然也一样,如下面的程序:
    StringBuffer s;
    s = new StringBuffer("Java");
    StringBuffer s1 = s;
    s1.append(" World");
    System.out.println("s1=" + s1.toString());//打印结果为:s1=Java World
    System.out.println("s=" + s.toString());//打印结果为:s=Java World
    上面的程序表明,s1和s打印出来的内容是一样的,这样的结果看起来让人非常疑惑,但是仔细想想,s1和s只是两个引用,它们只是操纵杆而已,它们指向同一个对象,操纵的也是同一个对象,通过它们得到的是同一个对象的内容。这就像汽车的刹车和油门,它们操纵的都是车速,假如汽车开始的速度是80,然后你踩了一次油门,汽车加速了,假如车速升到了120,然后你踩一下刹车,此时车速是从120开始下降的,假如


相关文档:

java异常处理技巧大全

  Java编程中的异常处理是一个很常见的话题了,几乎任何一门介绍性的Java课程都会提到异常处理。不过,我认为很多人其实并没有真正掌握正确处理异常情况的方法和策略,最多也就不过了解个大概,知道点概念。本文就对三种不同程度和质量的Java异常处理进行了讨论,所阐述的处理异常的方式按手法的高下分为:好,不好和恶劣 ......

java 修饰符和访问权限介绍

java 修饰符和访问权限介绍
修饰符介绍:
public
使用对象:类、接口、成员变量、方法
介绍:无论它所处在包定义在哪该类(接口、成员)都是可访问
protected
使用对象:成员变量、方法
介绍:成员变量只能在定义它包中被访问,如果在其他包中被访问,则实现这个思路方法类必须是该成员所属类子类
private
使用对象:成 ......

JavaScript和Java的区别


JavaScript和Java的区别
作为本站的宗旨--提供学习web编程的所有知识,特开设本专栏JavaScript基础教程.本JavaScript基础教程的内容从互联网上转载,原则上会带有原教程的链接,所以本JavaScript基础教程的版权归原处所有,特此声明.热切的希望本JavaScript基础教程能为你带来帮助--康盛博客.
JavaScript语言和J ......

Java加密解密


Eryptogram.java 文件:
package com.cube.limail.util;
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
/**
 * 加密解密类
 * @author 叶树深
 * @version 1.00 2008年01月03日
 */
 public  class  Eryptogram
{
&nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号