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

有关java中的引用问题

首先,java对对象和基本类型的处理是不一样的,和C语言一样,当把Java的基本数据类型(如int,char,double等)作为入口参数传给函数体的时候,传入的参数在函数体内部变成了局部变量,这个局部变量是输入参数的一个拷贝,所有的函数体内部的操作都是针对这个拷贝的操作,函数执行结束后,这个局部变量也就完成了它的使命,它影响不到作为输入参数的变量。这种方式的参数传递被称为"值传递"。而在Java中用对象的作为入口参数的传递则缺省为"引用传递",也就是说仅仅传递了对象的一个"引用",这个"引用"的概念同C语言中的指针引用是一样的。当函数体内部对输入变量改变时,实质上就是在对这个对象的直接操作。
此外,在任何用“=”向对象变量赋值的时候都是"引用传递"。如:
package reference;
class PassObj
{
String str = "init value";
}
public class ObjPassValue
{
public static void main(String[] args)
{
PassObj objA = new PassObj();
PassObj objB = objA;
objA.str = "changed in objA";
System.out.println("Print objB.str value: " + objB.str);
}
}
/* RUN RESULT
Print objB.str value: changed in objA
*/
第一句是在内存中生成一个新的PassObj对象,然后把这个PassObj的引用赋给变量objA,第二句是把PassObj对象的引用又赋给了变量objB。此时objA和objB是两个完全一致的变量,以后任何对objA的改变都等同于对objB的改变。Hashtable并不能真正存储能对象,而只能存储对象的引用。所以,Hashtable不能真的存储对象,只能是对象的引用。import java.util.*;
public class HashtableAdd{
    public static void main(String[] args){
        Hashtable ht = new Hashtable();
        StringBuffer sb = new StringBuffer();
        //append 只在StringBuffer中有.
        sb.append("abc,");
        ht.put("1",sb);    
        sb.append("def,");
        ht.put("2",sb);
        sb


相关文档:

java快速排序

快速排序是对冒泡排序的一种改进。它的基本思想是:通过一躺排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一不部分的所有数据都要小,然后再按次方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
    假设要排序的数组是A[1]&hellip ......

Java中多线程的实现

什么叫多线程?
Java程序通过流控制来执行程序流,程序中单个顺序的流控制称为线程。
线程和进程的异同点在哪里?
相同点:他们一样拥有独立的执行控制,由操作系统负责调度。
不同点:线程没有独立的系统资源,同一进程中的所有线程共享进程的系统资源,如存储空间、磁盘文件、打印机等。
由于各个线程的控制流彼此独 ......

java网站 2

java国外著名网站
1. Java的老家:
  链接:www.javasoft.com java.sun.com
  简介:这是查找各种Java官方资源的好地方,我们可以在这里下载到最新的JDK、Java工具、以及JDKDOC。
  2. Earthweb的开发网站:
  链接:www.gamelan.com
  简介:它是所有Java资源站点的始祖。
  3. Java Focus网站: ......

Java 6 中自带的 Java DB(derby) 数据库

新安装了 JDK 6 的程序员们也许会发现,除了传统的 bin、jre 等目录,JDK 6 新增了一个名为 db 的目录。这便是 Java 6 的新成员:Java DB。这是一个纯 Java 实现、开源的数据库管理系统(DBMS),源于 Apache 软件基金会(ASF)名下的项目 Derby。它只有 2MB 大小,对比动辄上 G 的数据库来说可谓袖珍。但这并不妨碍 Derby ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号