亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

java對象怎么作為參數傳遞

小億
132
2024-01-09 09:38:25
欄目: 編程語言

Java中,對象作為參數傳遞的方式有兩種:按值傳遞和按引用傳遞。

  1. 按值傳遞(Pass-by-Value):當對象作為參數傳遞時,實際上傳遞的是對象的引用(地址),而不是對象本身。在方法內部,形參接收到的是對象引用的一個副本,即形參和實參指向同一個對象。如果在方法內部修改了對象的屬性,實際上是修改了同一個對象,所以會影響到方法外部的對象。

示例代碼:

public class Main {
    public static void main(String[] args) {
        Person person = new Person("Alice");
        changeName(person);
        System.out.println(person.getName()); // 輸出 "Bob"
    }
    
    public static void changeName(Person p) {
        p.setName("Bob");
    }
}

class Person {
    private String name;
    
    public Person(String name) {
        this.name = name;
    }
    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
}
  1. 按引用傳遞(Pass-by-Reference):在Java中,對象本身是按值傳遞的,但是對象的引用是可以通過修改對象引用的值來實現傳遞的。這種方式可以通過定義一個包含對象引用的容器(如數組、集合等)來實現。

示例代碼:

public class Main {
    public static void main(String[] args) {
        Person[] persons = new Person[1];
        persons[0] = new Person("Alice");
        changeName(persons);
        System.out.println(persons[0].getName()); // 輸出 "Bob"
    }
    
    public static void changeName(Person[] p) {
        p[0].setName("Bob");
    }
}

class Person {
    private String name;
    
    public Person(String name) {
        this.name = name;
    }
    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
}

通過上述兩種方式,Java中的對象可以作為參數進行傳遞,并且可以在方法內部對對象進行修改。

0
吴忠市| 浮梁县| 兴安县| 闽清县| 蓬安县| 岑巩县| 夏河县| 正宁县| 谢通门县| 小金县| 新蔡县| 柘荣县| 岢岚县| 甘泉县| 陈巴尔虎旗| 白沙| 祁连县| 湘阴县| 泰兴市| 榕江县| 灌云县| 乃东县| 宜州市| 曲靖市| 西吉县| 娄烦县| 宁波市| 仙游县| 柳河县| 万荣县| 塘沽区| 元谋县| 曲松县| 成都市| 汉川市| 绥化市| 乌兰浩特市| 牙克石市| 玛纳斯县| 盐亭县| 海盐县|