对象篇entry1
关键词: java; 类与对象; 值传递; 参数传递;
对象作为参数的特点
普通数据类型作为参数传递是值传递,而对象是引用传递。
public class X {
private static int a;
public static void main(String [] args) {
modify(a);
System.out.println(a);
}
public static void modify(int a) { a++; }
}
本程序的输出为0,因为a++是对形式参数进行自增,而不是对象属性a进行自增。
对象的引用传递举例
对象是引用传递,当对象作为参数传递时,传递的是对象的地址
1.
class IntClass
{ int value; }
public class RunIntClass
{
public static void modifyValue(IntClass s,int val)
{ s.value = val; }
public static void main(String args[])
{ IntClass a = new IntClass();
modifyValue(a,8);
System.out.println(a.value); }
}
2.
class IntClass
{ int value; }
public class RunIntClass
{ public static IntClass getInstance()
{//在方法中产生对象
IntClass s = new IntClass ();
s.value=8;
return s; //引用返回 }
public static void main(String args[])
{ //调用环境中去使用
IntClass a = getInstance();
System.out.println(a.value); }
}