Java面试题——浅拷贝和深拷贝

Java面试题——深拷贝和浅拷贝

在Java语言中,当我们需要拷贝一个Java对象的时候,常见的会有两种方式的拷贝:浅拷贝和深拷贝。
一、浅拷贝
浅拷贝只是拷贝了源对象的地址,所以源对象的任何值发生变化时,拷贝对象的值也会随之发生变化。
Java面试题——浅拷贝和深拷贝_第1张图片

浅拷贝代码举例:
User类

package deepcopyandshallowcopy;

public class User {
   
    private String username;
    private String password;
    
    public String getUsername() {
   
        return username;
    }

    public String getPassword() {
   
        return password;
    }

    public void setUsername(String username) {
   
        this.username = username;
    }

    public void setPassword(String password) {
   
        this.password = password;
    }
}

CopyTest1类

package deepcopyandshallowcopy;

public class CopyTest1 {
   
    public static void main(String[] args) {
   
        User user1 = new User();
        user1.setUsername("浅拷贝")

你可能感兴趣的:(面试)