Java值传递实例

来源:互联网 发布:mysql 分布式基础架构 编辑:程序博客网 时间:2024/06/03 20:38
/*public class Main {    public static void main(String[] args) {        Dog aDog = new Dog("Max");        // we pass the object to foo        foo(aDog);        // aDog variable is still pointing to the "Max" dog when foo(...) returns        System.out.println(aDog.getName().equals("Max"));//java passes by value        System.out.println(aDog.getName().equals("Fifi"));    }    public static void foo(Dog d) {        System.out.println(d.getName().equals("Max"));        // change d inside of foo() to point to a new Dog instance "Fifi"        d = new Dog("Fifi");//生成了一个新的对象,与aDog对象无关        System.out.println(d.getName().equals("Fifi"));        System.out.println(d.getName().equals("Max"));    }}//true//true//false//true//false*/public class Main {    public static void main(String[] args) {        Dog aDog = new Dog("Max");        // we pass the object to foo        foo(aDog);        // aDog variable is still pointing to the "Max" dog when foo(...) returns        System.out.println(aDog.getName().equals("Max"));//java passes by value        System.out.println(aDog.getName().equals("Fifi"));    }    public static void foo(Dog d) {        System.out.println(d.getName().equals("Max"));        d.setName("Fifi");//通过引用修改对象的属性,没有生成新的对象,还是aDog那一个对象        System.out.println(d.getName().equals("Fifi"));    }}//true//true//false//true

原创粉丝点击