package 面向对象基础01;
/**
* 测试原理:赋值为地址的赋值,地址相同,则这些变量都是指向的是同一个对象,修改其中一个变量,就是修改该对象
* */
public class 测试值传递机制 {
String name; //从属于对象的普通变量
public 测试值传递机制(String name) {
this.name = name; //构造器,为普通变量 name 赋值
}
public void a(测试值传递机制 u) { //定义a()方法,形参为 测试值传递机制 类,
u.name = "王鑫"; //给传入的实参对象的 name 赋值
}
public void b(测试值传递机制 s) { //定义b()方法,形参为 测试值传递机制 类,
s = new 测试值传递机制("薛宝帅"); // 创建一个 形参为 测试值传递机制 类的对象,将地址赋值给 s 变量
}
public static void main(String[] args) {
测试值传递机制 u1 = new 测试值传递机制("陈鑫"); // 创建对象,对象地址值赋值给u1,设u1 = 123
System.out.println(u1.name); //根据123 找到对象,找到对象中的name
u1.a(u1); //根据123找到对象,找到对象中的a()方法,将123赋值给 u,此时u1 = 123, u = 123,
System.out.println(u1.name); //执行u.name = "王鑫",实际就是在操作原对象
u1.b(u1); //根据123 找到对象的b()方法,创建新的对象,s = 234,将u1的值赋值给 s,s = 123,234对象弃用
System.out.println(u1.name);
}
}
java学习笔记-面向对象01——java参数传值机制_值传递
最新推荐文章于 2023-03-19 13:15:37 发布