• 值传递和引用传递的小例子


    代码:

    public class Demo {
    
        public static void main(String[] args) {
            // 引用传递示例
            Student student = new Student();
            student.setName("lisi");
            student.setSex("girl");
            new Method().test1(student); // entity的值发生了变化
            System.out.println(student.getName() + "," + student.getSex()); // 输出结果:zhangSan,boy
    
            // 值传递示例
            // String传递的也是引用副本的传递,但是因为String为final的,所以和按值传递等同的
            String str = new String("123");
            new Method().test2(str); // str的值没有发生变化
            System.out.println(str); // 输出结果: 123
        }
    
    }
    
    class Method {
    
        /**
         * 引用传递
         */
        public void test1(Student entity) {
            entity.setName("zhangSan");
            entity.setSex("boy");
        }
    
        /**
         * 值传递
         */
        public void test2(String str) {
            str = "abc";
        }
    }
    
    class Student {
    
        private String name;
    
        private String sex;
    
        public Student() {
            super();
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getSex() {
            return sex;
        }
    
        public void setSex(String sex) {
            this.sex = sex;
        }
    }
  • 相关阅读:
    java大数取余
    hdu--5351--MZL's Border
    NYOJ--水池数目
    NYOJ--32--SEARCH--组合数
    NYOJ--20--搜索(dfs)--吝啬的国度
    hdu--4148--Length of S(n)
    hdu--2098--分拆素数和
    hdu--1873--看病要排队
    hdu--1870--愚人节的礼物
    hdu--1237--简单计算器
  • 原文地址:https://www.cnblogs.com/zj0208/p/5856994.html
Copyright © 2020-2023  润新知