对象和对象的引用深入理解

public class Test1 {
    public static void main(String[] args) {
        Student student1=new Student();
        
        Student student2=student1;
        
        System.out.println(student1.equals(student2));  //true
    }
}
class Student{

}

详细分析:

public class Test1 {
    public static void main(String[] args) {
        //1.创建对象
        //1.1  new Student()是在 堆内存 创建的类Student的一个对象 
        //1.2  Student用来声明student1是Student 类的
        //1.3  student1 是new Student()对象的一个引用(参考c语言指针) 
        //     student1 在栈内存加载
        Student student1=new Student();

        //2.Student声明student2(名字可以随便写,例:s等)也是Student类的
        //  将student1引用地址通过=给student2
        //  student2引用也指向堆内存中的类Student的对象new Student()
        Student student2=student1;

        //3.equals验证类Student的对象new Student()的
        //  两个引用student1和student2都指向同一个对象。
        System.out.println(student1.equals(student2));  //true
    }
}
//自定义类Student
class Student{

}
发布了53 篇原创文章 · 获赞 0 · 访问量 1688

猜你喜欢

转载自blog.csdn.net/weixin_45450428/article/details/102151581