您的位置:首页 > 编程语言 > Java开发

java对象与引用及参数传递

2016-09-03 15:31 369 查看

对象


对象(object)是类(class)的实例(instace)。对象一般存储在堆中。


引用


引用(reference)是对象(object)的标识符。引用存放的是该对象的地址,存放在栈中。


代码



User user = new User( );


这条语句的动作称为创建一个对象,它包含了四个动作:

右边的new People,是以Pelple类为模板,在堆空间中创建一个People类对象

结尾的(),在对象创建后,立刻调用People类的构造函数,对刚生成的对象初始化。这个例子中包含了构造函数,如果没写,java会自动帮你补上。

左侧的People one创建了一个People类的引用变量。即one是指向People对象的引用。

“=”操作符使对象引用[b]指向刚创建的People对象。注意是指向,不是赋值。[/b]

User user1 = new User( );
User user2 = new User( );
user1 = user2;


最后引用user1、user2都指向一个User对象。也就是说一个对象可以有多个引用,但一个引用最多指向一个对象。
代码中有一个User对象由于引用消失,所以该对象会交由垃圾处理器处理(可能垃圾回收器现在不收回该对象空间)。


参数传递


《thinking in Java》:When you’re passing primitives into a method,you get a distinct copy of the primitive. When you’re passing a reference into a method, you get a copy of the reference.

传递的是参数的副本 基本类型传递的是值的副本、对象传递的是引用的副本。


代码


test1:

public class TestPass1 {
public static void testPass(int t){
t = 2;
}
public static void main(String[] args){
int t = 9;
System.out.println("Before testPass: t = " + t);
testPass(t);
System.out.println("After testPass: t = " + t);
}
}
out:
Before testPass: t = 9
After testPass: t = 9


test2:

public class TestPass2 {
public static void testPass(StringBuffer strBuf){
strBuf.append(" world");
}
public static void main(String[] args){
StringBuffer strBuf = new StringBuffer("hello");
System.out.println("Before testPass: strBuf " + strBuf);
testPass(strBuf);
System.out.println("After testPass: strBuf " + strBuf);
}
}
out:
Before testPass: strBuf hello
After testPass: strBuf hello world


test3:

public class TestPass3 {
public static void testPass(StringBuffer strBuf){
strBuf = new StringBuffer(" world");
}
public static void main(String[] args){
StringBuffer strBuf = new StringBuffer("hello");
System.out.println("Before testPass: strBuf " + strBuf);
testPass(strBuf);
System.out.println("After testPass: strBuf " + strBuf);
}
}
out:
Before testPass: strBuf hello
After testPass: strBuf hello



refence:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐