91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
丰县| 陆川县| 中宁县| 平利县| 华亭县| 年辖:市辖区| 汾阳市| 漾濞| 南昌市| 全椒县| 巴里| 通渭县| 将乐县| 炉霍县| 扬州市| 永州市| 贺州市| 潼南县| 高台县| 榕江县| 罗定市| 京山县| 临桂县| 蚌埠市| 土默特右旗| 定襄县| 灵武市| 巫溪县| 万载县| 曲周县| 墨脱县| 嵊泗县| 和平区| 威远县| 乡宁县| 始兴县| 沭阳县| 汨罗市| 皋兰县| 明溪县| 花垣县|