zoukankan      html  css  js  c++  java
  • java学习笔记15--引用传递

    java学习笔记15--引用传递

    范例一

    1. class Demo{  
    2.     public int temp = 30;  
    3. }  
    4. public class T {  
    5.   
    6.     public static void main(String[] args) {  
    7.         // TODO Auto-generated method stub  
    8.         Demo d1 = new Demo();  
    9.         d1.temp = 50;  
    10.         System.out.println("fun()方法调用之前:"+d1.temp);  
    11.         fun(d1);  
    12.         System.out.println("fun()方法调用之后:"+d1.temp);  
    13.     }  
    14.     public static void fun(Demo d2){  
    15.         d2.temp = 1000;  
    16.     }  
    17. }  


    内存分析:

    范例二

    1. public class T {  
    2.   
    3.     public static void main(String[] args) {  
    4.         // TODO Auto-generated method stub  
    5.         String str1 = "hello";  
    6.         System.out.println("fun()方法调用之前:"+str1);  
    7.         fun(str1);  
    8.         System.out.println("fun()方法调用之前:"+str1);  
    9.     }  
    10.     public static void fun(String s2){  
    11.         s2 = "MLDN";  
    12.     }  
    13.   
    14. }  


    内存分析

    范例三

    1. class Demo{  
    2.     String temp = "hello";  
    3. }  
    4. public class T {  
    5.   
    6.     public static void main(String[] args) {  
    7.         // TODO Auto-generated method stub  
    8.         Demo d1 = new Demo();  
    9.         d1.temp = "world";  
    10.         System.out.println("fun()方法调用之前:"+d1.temp);  
    11.         fun(d1);  
    12.         System.out.println("fun()方法调用之后:"+d1.temp);  
    13.     }  
    14.     public static void fun(Demo d2){  
    15.         d2.temp = "MLDN";  
    16.     }  
    17. }  


    内存分析

    本程序与范例一的流程完全是一样的,范例二是特殊的,因为String是一个特殊的类,其内容不可改变。


  • 相关阅读:
    JS4
    JS3
    JS2
    JS1
    Dos命令
    面向对象的复习
    9.14Css
    9.13列表的用法
    9.12Css
    9.11Css
  • 原文地址:https://www.cnblogs.com/timssd/p/4790449.html
Copyright © 2011-2022 走看看