美文网首页
java参数传递是值传递还是引用传递?

java参数传递是值传递还是引用传递?

作者: 杜子龙 | 来源:发表于2019-04-04 20:54 被阅读0次

    当一个对象被当作参数传递到一个方法后,在此方法内可以改变这个对象的属性,那么这里到底是值传递还是引用传递?
    答:\color{red}{是值传递。}java的参数传递只有值传递。当一个实例对象作为参数被传递到方法中时,参数的值就是该对象引用的一个副本,指向同一个对象,对象的属性可以在方法中改变,但对象的引用(不是引用副本)是永远不变的。

    java的参数传递,无论是基本数据类型还是引用类型的参数,都是值传递,没有引用传递。

        public static void main(String[] args) {
            People people = new People();
            people.setId(111);
            System.out.println(people);
            test(people);
            System.out.println(people);
        }
    
        private static void test(People people){
            people = new People();
            people.setId(222);
            System.out.println(people);
        }
    
    @Data
    class People{
            private Integer id;
    }
    

    运行结果:


    重要参考:https://www.cnblogs.com/9513-/p/8484071.html

    相关文章

      网友评论

          本文标题:java参数传递是值传递还是引用传递?

          本文链接:https://www.haomeiwen.com/subject/bwzqiqtx.html