国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

談談JAVA中的調用方式

2019-11-18 13:44:17
字體:
來源:轉載
供稿:網友

  很多書籍都說java支持傳引用調用的方式,類似于C++中的Person &a引用調用,而近來編程碰到一系列問題讓我對此產生了懷疑,于是將這些方法一一列出,我們來一起看看JAVA中的調用方式:

  看下面的程序:

 class Person {

     PRivate String name;//姓名

    private String sex;//性別

    public Person(String x, String y) {
        this.name = x;
        this.sex = y;
    }

    public void setStatus(String x, String y) {
        this.name = x;
        this.sex = y;

    }

    public String toString() {

        return name + sex;

    }

    //  -----交換普通對象-----
    public static void changeref(Person tmpx, Person tmpy) {
        //交換tmpx和tmpy對象
        Person swapref = tmpx;
        tmpx = tmpy;
        tmpy = swapref;
//        System.out.println("在方法中交換的結果: refa =" + tmpx.toString());
//        System.out.println("在方法中交換的結果: refb =" + tmpy.toString());
    }

    // ----- 交換數組對象-----
    public static void changeArrayRef(Person[] x, Person[] y) {

        //交換數組對象
        Person swaparrayref = x[x.length-1];
        x[x.length-1] =y[x.length-1];
        y[x.length-1] = swaparrayref;

    }
    

    //-----交換數組-----
    public static void changeArray(int[] x,int[] y) {
 
       int[] tmp =x;       
       x = y; 
       y = tmp;
       
       
    }
    

}



public class Demo {

    public static void main(String[] args) {
        
        //-------建立并構造兩個對象---------
        Person refa = new Person("張三", "男");
        Person refb = new Person("李四", "男");

        //交換refa對象和refb對象
        Person.changeref(refa, refb);
        //從交換結果中看出,實際對象并未交換
        System.out.println("在主函數中交換的結果 refa = " + refa.toString());
        System.out.println("在主函數中交換的結果 refb = " + refb.toString());
                
        //-------建立兩個對象數組----------
        Person[] arraya = new Person[1];
        Person[] arrayb = new Person[1];
        
        //分別構造數組對象
        arraya[0] = new Person("王五","男");
        arrayb[0] = new Person("趙六","男");
         
        /*數組對象為null時,不能設置其值,必須先構造它(即調用構造函數),再用其它方法設置其值
      */
     
        System.out.println(’/n’+"數組對象交換前的結果 arraya = " + arraya[0].toString());
        System.out.println("數組對象交換前的結果 arrayb = " + arrayb[0].toString());
        //交換這兩個數組對象
        Person.changeArrayRef(arraya, arrayb);
        System.out.println("-交換后的結果 arraya = " + arraya[0].toString());
        System.out.println("-交換后的結果 arrayb = " + arrayb[0].toString());

        //-------建立兩個普通數組---------
        int[] a = new int[2];
        int[] b = new int[2];
   
        //給數組個元素賦值
        for(int i =0;i<a.length;i++){
            a[i] = i;
            b[i] = i+1;
        }    
        
        System.out.println(’/n’+"數組交換前 inta[0] = " + a[0]);
        System.out.println("數組交換前 intb[0] = " + b[0]);
        
        //交換數組
        Person.changeArray(a,b);        
  
        System.out.println("-交換后的結果 inta[0] = " + a[0]);
        System.out.println("-交換后的結果 intb[0] = " + b[0]);
   
        
    }
}


  從程序執行的結果來看:在交換兩個對象時,僅

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 家居| 天长市| 灵丘县| 梅河口市| 香港| 都昌县| 济阳县| 武邑县| 吉木萨尔县| 花莲市| 梁山县| 渭南市| 疏勒县| 呼伦贝尔市| 日土县| 洮南市| 吉首市| 定边县| 琼海市| 虹口区| 曲阳县| 新巴尔虎左旗| 西华县| 天台县| 贵州省| 馆陶县| 珠海市| 洛浦县| 定州市| 潍坊市| 资溪县| 綦江县| 托里县| 平武县| 福泉市| 金溪县| 冷水江市| 天峨县| 亚东县| 崇义县| 田阳县|