zoukankan      html  css  js  c++  java
  • Java面向对象-方法的值传递和引用传递

    Java面向对象-方法的值传递和引用传递

    0
    发布时间:『 2016-08-21 14:21』  博客类别:Java核心基础  阅读(197) 评论(0)

    Java面向对象-方法的值传递和引用传递

    方法的值传递:

    值传递 在方法里改变变量的值 作用范围仅仅是方法里 对外面不影响:

    上代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    package com.java1234.chap03.sec03;
     
    public class Person {
     
        void speak(int age){
            System.out.println("我今年"+age+"岁了");
            age=24// 作用范围是方法里
        }
         
        public static void main(String[] args) {
            Person xiaoli=new Person();
            int age=23;
            xiaoli.speak(age);
            System.out.println(age);
        }
    }

    引用传递,传递的是地址,对象里的属性在方法里值修改,对外面有影响,我们通过对象.属性可以获取到最新的数据;

    上代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    package com.java1234.chap03.sec03;
     
    class SanWei{
        int b; // 胸围
        int w; // 腰围
        int h; // 腿围
    }
     
    public class Person {
     
        void speak(int age,SanWei sanWei){
            System.out.println("我今年"+age+"岁了,我的三围是:"+sanWei.b+","+sanWei.w+","+sanWei.h);
            age=24// 作用范围是方法里
            sanWei.b=80// 胸围改成80
        }
         
        public static void main(String[] args) {
            Person xiaoli=new Person();
            int age=23;
            SanWei sanWei=new SanWei();
            sanWei.b=90;
            sanWei.w=60;
            sanWei.h=90;
            // age传递的是值 ,sanWei是对象,传递的是引用(地址,c里叫指针)
            xiaoli.speak(age,sanWei);
            System.out.println(age);  
            System.out.println(sanWei.b);
        }
    }

    下面我们给下内存示意图:

    QQ鎴�浘20160821142042.jpg

  • 相关阅读:
    GDUFE ACM-1050
    hdu-2020
    hdu-2055
    hdu-2734
    GDUFE ACM-1145
    GDUFE ACM-1127
    GDUFE ACM-1126
    GDUFE ACM-1125
    GDUFE ACM-1124
    GDUFE ACM-1123
  • 原文地址:https://www.cnblogs.com/stm32stm32/p/5804927.html
Copyright © 2011-2022 走看看