◇在方法调用之间复制数据的过程,称为按值调用。
◇在Java中不能用按引用调用或按指针调用。不管传递给方法的实际参数是什么类型, 相关的形式参数都会得到该数据的一份拷贝,这就是按值调用的工作原理。
◇局部变量在调用栈中分配内存,当方法执行完成后,这些变量就被抛弃。
◇如果我们想传给方法的数据是一个很大的对象,那么请记住:不是对象被传入,而是 对象的引用被传入,即完成的对引用的复制。
◇一个没有main()方法的类不是一个程序。但是可以有很多个类,只能有一个main() 方法。
----------------------------------------------
1.
private
public
Test
System.out.println(test.x);
}
}
则显示结果为:
9
注:已手动赋值,则不用构造方法自动初始化,所以不是0,这与数组有所不同。
----------------------------------------------
2.如果类中有了有参的构造方法,则必须声明一个无参的构造方法才能new无参的构造 方法,因为有有参构造方法时编译器不会自动生成默认构造方法。
----------------------------------------------
3.如果直接引用变量,优先引用局部变量,局部变量不存在时,才引用成员变量。但是 this.属性引用的变量就是成员变量。
----------------------------------------------
4.关于传参:
public
public
int
Student
s.code=8;
test(i,s);
System.out.println(i+“ ”+s.code);
}
public
i=9;
s.code=6; //与指针类似,引用使code改变
s=new
i=2;
s.code=20;
}
}
则显示的结果为:
10
注:i是栈中的具体值,方法结束后消失,s也是具体值。而经过传参Student
............................
public
public
int
Student
Student
s1.code=8;
s2.code=18;
s3.test(i,s1,s2);
System.out.println(i+“
}
public
i=9;
s1.code=1;
s2.code=2;
s1=s2; //s1所指对象被释放,s1、s2同指一个对象
s1.code=3;
s1=new
s1.code=5;
s2.code=6;
return
}
}
则显示结果为:
10
----------------------------------------------