不好意思,堆栈两个写反了作者: 刘奇 时间: 2012-7-23 14:55
当然是按引用传递了,在md函数里修改了作为值传递的people参数,所以main函数最后输出的才是88,如果是值传递函数内的操作是不会影响到main函数里的people的age属性的作者: 范泰洋 时间: 2012-7-23 18:12
public class People {
public String name;
public int age;
public People(String name,int age){
this.name=name;
this.age=age;
}
}
public class Tm {
/**
* @param arg
*/
public static void main(String[] args) {
People people=new People("张三",30);//这里一new了一个对象,就会根据new People("张三",30)这里面的实参去people
构造函数里面去找相应的构造函数,进行初始化。然后把这个里面的值传给构造函数里面的形式参数,再把接收到的值赋值给this.name本类对
象的name。这个this就是那个对调用,就指向那个对象。
System.out.println(people.name+"今年"+people.age+"岁");
md(people);
System.out.println(people.name+"今年"+people.age+"岁");
}
public static void md(People people){//然而这里的两个people,一个是类类型 相当于int类型那种,也就是说后面的那个people的类型就是类类型的。
people.age=88;//其实这里也是按值传递的。
}
} 作者: 郑枫 [̲̅ 时间: 2012-7-23 21:55
{:soso_e117:} 看不懂。。作者: 李东升 时间: 2012-7-23 22:00
范泰洋 发表于 2012-7-23 18:12
public class People {
public String name;
public int age;