java对象赋值和基本类型赋值
时间: 2023-09-28 12:13:02 浏览: 111
在 中,对象赋值和基本类型赋值也有着不同的行为。
基本类型的赋值是将一个变量的值复制给另一个变量。例如:
```
int a = 10;
int b = a;
```
在这个例子中,变量 b 的值是变量 a 的值的副本。这意味着,当我们修改变量 a 的值时,变量 b 的值并不会发生变化。
对象赋值则不同。对象变量存储的是对象的引用,而不是对象本身。当我们将一个对象变量赋值给另一个对象变量时,实际上是将一个对象的引用复制给了另一个对象变量。例如:
```
MyClass obj1 = new MyClass();
MyClass obj2 = obj1;
```
在这个例子中,变量 obj2 存储的是 obj1 引用的副本,也就是说,obj1 和 obj2 引用的是同一个对象。这意味着,当我们修改 obj1 引用的对象时,obj2 引用的对象也会发生变化。
需要注意的是,对于基本类型和对象类型,实参传递方式也不同。对于基本类型,实参传递的是值的副本;对于对象类型,实参传递的是引用的副本。这也是因为对象变量存储的是对象的引用,而不是对象本身。
相关问题
java中怎么给一个对象中的long类型赋值
在Java中,给一个对象中的long类型赋值可以通过以下两种方式实现:
1. 直接赋值
可以直接为long类型的变量赋值,例如:
```java
long num = 100L; // 给变量num赋值为100
```
如果要将这个long类型的变量赋值给一个对象中的long类型属性,可以使用对象的setter方法,例如:
```java
public class MyClass {
private long num;
public void setNum(long num) {
this.num = num;
}
}
MyClass myObj = new MyClass();
myObj.setNum(100L); // 给myObj对象中的num属性赋值为100
```
2. 自动装箱和拆箱
Java中的基本类型和包装类型之间可以进行自动装箱和拆箱,因此可以直接将long类型的值赋给Long类型的对象,例如:
```java
Long numObj = 100L; // 将long类型的值100赋给Long类型的对象numObj
```
如果要将这个Long类型的对象赋值给一个对象中的Long类型属性,可以使用对象的setter方法,例如:
```java
public class MyClass {
private Long num;
public void setNum(Long num) {
this.num = num;
}
}
MyClass myObj = new MyClass();
myObj.setNum(100L); // 给myObj对象中的num属性赋值为100
```
阅读全文