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

首頁 > 開發 > Java > 正文

Java中的按值傳遞和按引用傳遞的代碼詳解

2024-07-14 08:41:14
字體:
來源:轉載
供稿:網友

先使用int實驗:

public class TTEST {   private static  List<UserEntity> mList = new LinkedList<UserEntity>();    public static void main(String[] args) {     int a = 0;     changeA(a);     System.out.println("a = "+a);   }      public static void changeA(int a){     a = 1;   } }

輸出:a = 0

這說明對于int值是按值傳遞。其他幾個基本類型也是如此。

再使用自己定義的類UserEntity來實驗:

public class UserEntity {   private String name;   public String getName() {     return name;   }   public void setName(String name) {     this.name = name;   } } public class TTEST {   public static void main(String[] args) {     UserEntity userEntity = new UserEntity();     userEntity.setName("猿猴");     changeName(userEntity);     System.out.println("name = "+userEntity.getName());   }   public static void changeName(UserEntity userEntity){     userEntity.setName("忽必烈");   } } 

輸出:name = 忽必烈

我們再來使用一個linkedList<Object>來實驗:

import java.util.LinkedList; import java.util.List; public class TTEST {    private static List<UserEntity> mList = new LinkedList<UserEntity>();    public static void main(String[] args) {     UserEntity userEntity = new UserEntity();     userEntity.setName("石頭");     addUser(userEntity);     System.out.println("name = "+userEntity.getName());   }   public static void addUser(UserEntity userEntity){     mList.add(userEntity);     mList.get(0).setName("猿猴");   } } 

輸出:name= 猿猴

這說明在使用我們自己定義的類時,是按引用傳遞的。

接著,再來使用String實驗:

public class TTEST {   public static void main(String[] args) {     String str= "開始的";     changeStr(str);     System.out.println("str = "+str);   }   public static void changeStr(String str){     str = "改變的";   } } 

輸出:str = 開始的

用Integer做實驗也會發現沒有改變。

說明我們按照java內置的對象也是值傳遞。因此我們可以做如下總結:

只要我們自己定義的類創建的對象,都是引用傳遞,系統內置的基本類型和對象都是指傳遞。

總結

以上所述是小編給大家介紹的Java中的按值傳遞和按引用傳遞,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 西充县| 舟山市| 永宁县| 临夏市| 承德市| 石林| 霍山县| 新巴尔虎右旗| 循化| 泰来县| 湛江市| 增城市| 册亨县| 甘泉县| 定结县| 都安| 洛隆县| 简阳市| 虞城县| 抚州市| 沛县| 讷河市| 寻甸| 仪征市| 织金县| 阳江市| 德江县| 温宿县| 嘉祥县| 大足县| 新和县| 西宁市| 清苑县| 阜南县| 泰顺县| 五原县| 潼关县| 油尖旺区| 隆安县| 庆城县| 密云县|