1. 程式人生 > >java值傳遞和引用傳遞驗證

java值傳遞和引用傳遞驗證


/**
 * java值傳遞還是引用傳遞
 *
 *  驗證其為值傳遞
 */
public class testJava {
    demo demoA=new demo();

    public static void main(String[] args) {
        demo A=new demo();
        A.setDate(111);
        System.out.println("修改之前A的值:"+A.getDate());
        modifyTest(A);
        System.out.println("返回方法之後A的值"+A.getDate());

    }

  private static   void modifyTest(demo a){
       a=new demo();
        a.setDate(123);
        System.out.println("在方法裡面修改之後的a的值:"+a.getDate());
    }
}

輸出結果如下

修改之前A的值:111
在方法裡面修改之後的a的值:123
返回方法之後A的值111

說明java是值傳遞的,在方法裡面a只是A的值拷貝,它的改變並不影響原來的值。

但是倘若

  private static   void modifyTest(demo a){
        a.setDate(123);
        System.out.println("在方法裡面修改之後的a的值:"+a.getDate());
    }
    ```
   



則修改的是這個引用指向的物件的值,會導致物件發生改變 
輸出結果:
修改之前A的值:111
在方法裡面修改之後的a的值:123
返回方法之後A的值123


相關推薦

java傳遞引用傳遞驗證

/** * java值傳遞還是引用傳遞 * * 驗證其為值傳遞 */ public class testJava { demo demoA=new demo(); publ

Java 傳遞引用傳遞

too log test img [0 st3 tle class cnblogs 引用傳遞 示例: public class Test3 { public static void change(int []a){ a

JAVA中的傳遞引用傳遞問題

log 輸出結果 基礎知識 blue static 繼續 oid .net red   這是個老生常談的問題了,引起過無數爭論,但可以說一直沒有一個令人滿意的回答。   有人總結過: 對象是按引用傳遞的 Java 應用程序有且僅有的一種參數傳遞機制,即按值傳遞

java傳遞引用傳遞

public 例子 oar 是什麽 sta light 修改 [] 重要 1:按值傳遞是什麽 指的是在方法調用時,傳遞的參數是按值的拷貝傳遞。示例如下: [java] view plain copy public class TempTest { private

java中的傳遞引用傳遞

raise 兩個 demo1 double class turn style chan reference java 參數,不管是原始類型還是引用類型,傳遞的都是參數的副本。 如果參數類型是原始類型,那麽傳遞的參數是這個參數的一個副本,也就是這個原始參數的值。如果在函數中改

這一次,徹底解決Java傳遞引用傳遞

信息 getter 數據類型 裝載 而已 訪問 實參 數據結構 修改 本文旨在用最通俗的語言講述最枯燥的基本知識 學過Java基礎的人都知道:值傳遞和引用傳遞是初次接觸Java時的一個難點,有時候記得了語法卻記不得怎麽實際運用,有時候會的了運用卻解釋不出原理,而且坊間討論

JAVA傳遞引用傳遞

內容 stub generated https ati [1] 數據 details 接收 JAVA值傳遞和引用傳遞 @Author: TianchiLiu 1 值傳遞和引用傳遞 值傳遞: 方法調用時,實際參數把它的值傳遞給對應的形式參數,函數接收的是原始值的一個copy

[精]--這一次,讓你徹底明白Java傳遞引用傳遞

本文旨在用最通俗的語言講述最枯燥的基本知識 學過Java基礎的人都知道:值傳遞和引用傳遞是初次接觸Java時的一個難點,有時候記得了語法卻記不得怎麼實際運用,有時候會的了運用卻解釋不出原理,而且坊間討論的話題又是充滿爭議:有的論壇帖子說Java只有值傳遞,有的部落格說兩者皆有;這讓人有點摸不著頭

java面試題02》--傳遞引用傳遞

值傳遞和引用傳遞,近期介面開發中處理結果集等資料的時候常用到,二者主要區別在於所傳的引數型別: public static void main(String[] args) { test(); } public static void test(){ Str

徹底搞懂Java傳遞引用傳遞

學過Java基礎的人都知道:值傳遞和引用傳遞是初次接觸Java時的一個難點,有時候記得了語法卻記不得怎麼實際運用,有時候會的了運用卻解釋不出原理,而且坊間討論的話題又是充滿爭議:有的論壇帖子說Java只有值傳遞,有的部落格說兩者皆有;這讓人有點摸不著頭腦,下面我們就這個話題做一些探討,對書籍、對論壇

java中的傳遞引用傳遞有什麼區別呀?

  值傳遞:        (形式引數型別是基本資料型別和String):方法呼叫時,實際引數把它的值傳遞給對應的形式引數,形式引數只是用實際引數的值初始化自己的儲存單元內容,是兩個不同的儲存單元,所以方法執行中形式引數值的改變不影響實際引數的值。 引用

java中的傳遞引用傳遞有什麽區別呀?

地址 system main方法 demo ring brush 執行 相關 變量 值傳遞: (形式參數類型是基本數據類型和String):方法調用時,實際參數把它的值傳遞給對應的形式參數,形式參數只是用實際參數的值初始化自己的存儲單元內容,是兩個不同的存

java中的傳遞引用傳遞用法詳解

       值傳遞:方法呼叫時,實際引數把它的值傳遞給對應的形式引數,方法執行中形式引數值的改變不影響實際參 數的值。   引用傳遞:也稱為傳地址。方法呼叫時,實際引數的引用(地址,而不是引數的值)被傳遞給方法中相對應的形式引數,在方法執行中,對形式引數的操作實際上就是對實際引數的

Java基本資料型別以及由不可變類帶來的傳遞引用傳遞的難點分析

一、Java提供的資料型別 Java提供了8中原始的資料型別(byte,short,int,long,float,double,char,boolean),這些資料型別不是物件,相應的變數被定義後會立刻在棧上被分配記憶體空間。除此之外的資料型別,都是引用型別,引用型別在變數

String 不變性以及Java 傳遞引用傳遞

查看 () spa har args sta ogg [] btn String 不變性以及Java 值傳遞和引用傳遞 public class Example { String str = new String("good"); cha

Java 中的傳遞引用傳遞問題

Java 中的值傳遞和引用傳遞問題 public class Operation { int data = 50; void change(int data) { data = data + 100; } public static void main(S

java傳遞引用傳遞的知識點

java中值傳遞和引用傳遞的知識點 直接看下面的截圖和程式碼吧 package com.xuebao; public class ValueAndRef { /** * * @Description: (測試值傳遞和引用傳遞) * @param p

來一次徹底解決Java傳遞引用傳遞

本文旨在用最通俗的語言講述最枯燥的基本知識 學過Java基礎的人都知道:值傳遞和引用傳遞是初次接觸Java時的一個難點,有時候記得了語法卻記不得怎麼實際運用,有時候會的了運用卻解釋不出原理,而且坊間討論的話題又是充滿爭議:有的論壇帖子說Java只有值傳遞,有的部落格說兩者皆

Java傳遞引用傳遞

本文旨在用最通俗的語言講述最枯燥的基本知識 學過Java基礎的人都知道:值傳遞和引用傳遞是初次接觸Java時的一個難點,有時候記得了語法卻記不得怎麼實際運用,有時候會的了運用卻解釋不出原理,而且坊間討論的話題又是充滿爭議:有的論壇帖子說Java只有值傳遞,有的部落格說兩者皆

JAVA傳遞引用傳遞的三種情況

前言 我們都知道,java中資料型別分為基本資料型別和引用資料型別。 基本資料型別 整型:byte,short,int,long 浮點型:float,double 字元型:char 布林型:boolean 引用資料型別 陣列 類 介面 方法的引數