创建一个对象用什么运算符?对象实体与对象引用有何不同?

有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top

首发博客地址

面试题手册

系列文章地址


创建一个对象可以使用 new 关键字来实例化一个类。通过 new 运算符,我们可以在内存中分配空间,并调用类的构造方法来初始化对象。

对象实体和对象引用是两个不同的概念:

  • 对象实体:指的是在内存中真正存在的对象,它占据一定的内存空间,并保存了对象的属性值。
  • 对象引用:指的是对对象的引用或者说指针,它是一个变量,用于存储对象在内存中的地址。通过对象引用,我们可以访问和操作对象的属性和方法。

简单来说,对象实体是具体的对象,而对象引用是指向对象实体的指针。

举个例子来说明:

java 复制代码
public class Person {
    private String name;

    public Person(String name) {
        this.name = name;
    }

    public void sayHello() {
        System.out.println("Hello, my name is " + name);
    }
}

public class Main {
    public static void main(String[] args) {
        // 创建对象实体并赋值给对象引用p1
        Person p1 = new Person("Alice");

        // 创建对象实体并赋值给对象引用p2
        Person p2 = new Person("Bob");

        // 调用对象引用p1的方法
        p1.sayHello();  // 输出:Hello, my name is Alice

        // 调用对象引用p2的方法
        p2.sayHello();  // 输出:Hello, my name is Bob
    }
}

在上面的例子中,通过 new 关键字创建了两个 Person 对象实体,并分别赋值给 p1 和 p2 这两个对象引用。通过对象引用,我们可以调用对象的方法 sayHello()来输出不同的结果。

本文由mdnice多平台发布

相关推荐
不会画画的画师15 分钟前
Go开发指南:io/ioutil包应用和迁移指南
开发语言·后端·golang
youliroam2 小时前
ESP32-S3+OV2640简单推流到GO服务
开发语言·后端·golang·esp32·ov2640
码luffyliu2 小时前
从 2 小时价格轮询任务通知丢失,拆解 Go Context 生命周期管控核心
后端·golang·go
a努力。2 小时前
宇树Java面试被问:方法区、元空间的区别和演进
java·后端·面试·宇树科技
码事漫谈3 小时前
二叉树中序遍历:递归与非递归实现详解
后端
码事漫谈3 小时前
跨越进程的对话之从管道到gRPC的通信技术演进
后端
无限大64 小时前
为什么"数据压缩"能减小文件大小?——从冗余数据到高效编码
后端
用户729429432234 小时前
kubernetes/k8s全栈技术讲解+企业级实战项目课程
后端
用户729429432234 小时前
基于Dubbo的分布式系统架构+事务解决方案
后端
程序员鱼皮4 小时前
什么是 RESTful API?凭什么能流行 20 多年?
前端·后端·程序员