歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Java類類型參數

Java類類型參數

日期:2017/3/1 9:52:23   编辑:Linux編程

上節說明了Java類類型變量和基本變量的賦值方式的不同(http://www.linuxidc.com/Linux/2013-10/91074htm),這次就談談類類型參數和基本類型參數之間的差別。

首先要明白什麼是類類型參數。類類型參數,方法定義開始位置方法名稱後面小括號中給定形式參數。類似於類類型變量,類類型參數作為一個局部變量,保存了類類型對象的內存地址。類類型參量實例變量的值在方法中是可以改變的,而基本類型參量的值卻不能。下面給段代碼加以說明:

/**
* Comments:方法對類類型參數值及基本類型參數值的影響實例
* @author 塞上名豬
* Create Time:2013-09-15
*
*/
public class ClassTest {
private int num;
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public void change(int n){
n=2;
}
public void change(ClassTest n){
n.setNum(2);
}
public void change(ClassTest c1,ClassTest c2){
c2=c1;
}
public static void main(String[] args) {
ClassTest class1=new ClassTest();
class1.setNum(1);
class1.change(class1); //傳入類類型class1,其中class1.getNum=1
System.out.println(class1.getNum()); //輸出類類型class1,其中class1.getNum=2

class1.setNum(1);
class1.change(class1.getNum()); //傳入基本類型class1.getNum=1
System.out.println(class1.getNum()); //輸出基本類型class1.getNum=1

class1.setNum(2);
ClassTest class2=new ClassTest();
class2.setNum(1);
class2.change(class1, class2); //傳入類類型class1,其中class1.getNum=2
//傳入類類型class2,其中class2.getNum=1
System.out.println(class2.getNum()); //輸出類類型class2,其中class2.getNum=1
}
}

從代碼中可以看出,類類型參量的值在方法中改變,並直接影響到了方法外參數的值,但基本類型參量的值卻沒有被修改。而且,當方法將一個對象直接用另一個對象代替,也失敗了。
注:方法外稱為參量,方法內稱為參數(本人的理解)。

Copyright © Linux教程網 All Rights Reserved