Guest User

Untitled

a guest
Nov 14th, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.26 KB | None | 0 0
  1. public class ParamTest
  2. {
  3. public static void main(string[] args)
  4. {
  5. Person person=new Person(); //Person person是固定写法,表明了引用类型。这里的new出来的对象,是main方法中生成的对象
  6. person.change(person); //person指向了第二个Person对象,并改变了其age值为30
  7. int age =person.age; //这里赋值的,为什么是第一个对象里面的值???我不懂。
  8. System.out.println(age);
  9. }
  10. }
  11.  
  12. class Person
  13. {
  14. int age=20;
  15.  
  16. public void change(Person person)
  17. //这里产生了第二个引用,Person person,作用是新建了一个引用类型吗?在传入的person的基础之上?
  18. {
  19. person=new Person();
  20. //和前面的区别在于此。这里的Person对象是change方法里面的对象。这里的等号做的是改变指正指向的操作!!!
  21. //注意这里写法和上面的不同,只是一个person
  22. person.age=30; //这里改变的,毫无疑问是,上面这行的对象的age
  23. }
  24. }
  25.  
  26. 技术总结:看看有几个引用,看看有几个对象。引用分别指向谁? 我需要看一下值传递的内容
  27. 以上代码中,存在两个引用,两个对象。之前的一个视频中,是两个引用指向同一个对象。
Add Comment
Please, Sign In to add comment