Java 中的可变对象主要包括以下几类

一、分类

  1. 字符串构建器StringBuilderStringBuffer)。
  2. 集合框架(如 ArrayListHashMapHashSet 等)。
  3. 数组
  4. 日期和时间类(如 java.util.Date 或 Joda-Time 的 MutableDateTime)。
  5. 自定义类,如果它们提供修改内部状态的方法。

二、自定义类可变解释

Student

public class Student {
    private String name;
    private String age;

    public Student(String name, String age) {
        this.name = name;
        this.age = age;
    }

    public Student() {
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age='" + age + '\'' +
                '}';
    }
}

Teacher

public class Teacher {
    private String name;
    private String age;
     Student students;

    public Teacher() {
    }

    public Teacher(String name, String age, Student students) {
        this.name = name;
        this.age = age;
        this.students = students;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public Student getStudents() {
        return students;
    }

    public void setStudents(Student students) {
        this.students = students;
    }

    @Override
    public String toString() {
        return "Teacher{" +
                "name='" + name + '\'' +
                ", age='" + age + '\'' +
                ", students=" + students +
                '}';
    }
}

测试类 :test02Test

public class test02Test {
    Teacher liTeacher;

    @Test
    public void testAlist() {

        Student a = new Student("十二", "12");
        Student b = new Student("十三", "13");
//        Teacher liTeacher = new Teacher("李老师", "30", a);
        Teacher chenTeacher = new Teacher("陈老师", "32", b);
        this.liTeacher=chenTeacher;
        System.out.println("一次"+this.liTeacher);
        chenTeacher.students=a;
        System.out.println("二次"+this.liTeacher);


    }
}

测试类解释:

对象赋值后,两个对象指向同一地址,chenTeacher修改内容后,liTeacher的内容也发生改变

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值