通过值传递参数
调用一个方法时候需要提供参数,你必须按照参数列表指定的顺序提供。
例如,下面的方法连续n次打印一个消息:
TestVoidMethod.java 文件代码:
public
static
void
nPrintln(String
message,
int
n)
{
for
(int
i =
0;
i <
n;
i++)
{
System.out.println(message);
}}
示例
下面的例子演示按值传递的效果。
该程序创建一个方法,该方法用于交换两个变量。
TestPassByValue.java 文件代码:
public
class
TestPassByValue
{
public
static
void
main(String[]
args)
{
int
num1 =
1;
int
num2 =
2;
System.out.println("交换前
num1 的值为:" +
num1 +
" ,num2 的值为:"
+ num2);
// 调用swap方法
swap(num1,
num2);
System.out.println("交换后
num1 的值为:" +
num1 +
" ,num2 的值为:"
+ num2);
}
/** 交换两个变量的方法
*/
public
static
void
swap(int
n1,
int
n2)
{
System.out.println("\t进入
swap 方法");
System.out.println("\t\t交换前
n1 的值为:" +
n1 +
",n2 的值:"
+ n2);
// 交换 n1 与 n2的值
int
temp =
n1;
n1 =
n2;
n2 =
temp;
System.out.println("\t\t交换后
n1 的值为 " +
n1 +
",n2 的值:"
+ n2);
}}
以上实例编译运行结果如下:
交换前 num1 的值为:1 ,num2 的值为:2 进入 swap 方法 交换前 n1 的值为:1,n2 的值:2 交换后 n1 的值为 2,n2 的值:1 交换后 num1 的值为:1 ,num2 的值为:2
传递两个参数调用swap方法。有趣的是,方法被调用后,实参的值并没有改变。
使用的max方法仅仅适用于int型数据
finalize() 方法
Java 允许定义这样的方法,它在对象被垃圾收集器析构(回收)之前调用,这个方法叫做 finalize( ),它用来清除回收对象。
例如,你可以使用 finalize() 来确保一个对象打开的文件被关闭了。
在 finalize() 方法里,你必须指定在对象销毁时候要执行的操作。
finalize() 一般格式是:
protected
void
finalize(){
// 在这里终结代码}
关键字 protected 是一个限定符,它确保 finalize() 方法不会被该类以外的代码调用。
当然,Java 的内存回收可以由 JVM 来自动完成。如果你手动使用,则可以使用上面的方法。