中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
黄梅县| 莱阳市| 高唐县| 缙云县| 太白县| 平利县| 潜山县| 玛沁县| 静安区| 曲水县| 盐山县| 封丘县| 福贡县| 岫岩| 汤阴县| 区。| 界首市| 天峨县| 屏东市| 辽宁省| 聂荣县| 西林县| 荥经县| 盐津县| 屯门区| 兴仁县| 金昌市| 舒兰市| 高雄市| 泸溪县| 调兵山市| 长白| 十堰市| 云霄县| 夏河县| 南城县| 育儿| 蓬溪县| 民权县| 华亭县| 革吉县|