public class C{
private static int p;
public static void main(String[] args){
// 创建一个空参的对象
C c1 = new C();
System.out.println(c1.p);
// 创建一个有参的对象
C c2 = new C(2);
System.out.println(c2.p);
/*此处输出的成员变量的值 由局部变量传入
注意与成员变量的值传给局部变量,局部变量的值发生变化,成员变量本身不变 这个不同*/
c1.setP(3); //对象调用setP()方法 这个方法将局部变量的值传给调用对象的静态变量
System.out.println(c1.getP());
c2.setP(4);
System.out.println(c2.getP());
}
public C(){
// 构造器是为了创建对象时对其初始化 这个空参的构造器中 调用了有参的构造器
this(1);
System.out.println("123");
}
public C(int p){
// 有参构造器中将局部变量的值传给了由对象调用的成员变量
this.p = p;
p = 3; //此处将局部变量的值由2 改为3 并不影响成员变量的值
}
public void setP(int p){
this.p = p; //如果不加此处的this. 依旧可以编译运行 但是局部变量并未改变成员变量的值
}
public int getP(){
return p;
}
}
java 中的this和基本数据类型的值传递
最新推荐文章于 2023-03-19 13:15:37 发布