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

有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准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多平台发布

相关推荐
ltl3 小时前
Transformer 整体架构:一张图看懂
后端
ltl3 小时前
Decoder 详解:为什么它天生适合生成
后端
ltl4 小时前
Encoder 详解:6 层堆叠到底在做什么
后端
程序员cxuan4 小时前
微信读书官方发了 skills,把我给秀麻了。
人工智能·后端·程序员
未若君雅裁4 小时前
Spring AOP、日志切面与声明式事务原理
java·后端·spring
zhangxingchao5 小时前
AI应用开发六:企业知识库
前端·人工智能·后端
红尘散仙5 小时前
一个 `#[uniffi::export]`,把 Rust 接进 React Native
前端·后端·rust
红尘散仙6 小时前
一行 `#[specta::specta]`,让 Tauri IPC 有类型
前端·后端·rust
XinZong8 小时前
OpenClaw 中最经典的 6 款skill,真正能进工作流的 skills
javascript·后端
zhangxingchao8 小时前
AI Agent 基础问题系统整理:从 LangChain、LangGraph、MCP 到 Agent 架构、记忆、工具调用与评估体系
前端·人工智能·后端