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

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

相关推荐
weixin_438335404 分钟前
Spring Boot实现接口时间戳鉴权
java·spring boot·后端
寻月隐君9 分钟前
探索Web3新速度:Sonic高性能Layer-1上的BlindAuction智能合约实践
后端·web3·github
天天摸鱼的java工程师1 小时前
Redis 集群缓存不一致?这篇把坑给你挖明白了
后端
天天摸鱼的java工程师1 小时前
Redis 除了做缓存还能干什么?
后端
AntBlack1 小时前
Trae Agent :能提高开发效率的功能都值亲自体验一下
后端·ai编程·trae
江梦寻2 小时前
MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
开发语言·后端·python·macos·架构·策略模式
风象南2 小时前
SpringBoot的4种死信队列处理方式
java·spring boot·后端
互联网全栈架构3 小时前
遨游Spring AI:第一盘菜Hello World
java·人工智能·后端·spring
coderSong25689 小时前
Java高级 |【实验八】springboot 使用Websocket
java·spring boot·后端·websocket
Mr_Air_Boy10 小时前
SpringBoot使用dynamic配置多数据源时使用@Transactional事务在非primary的数据源上遇到的问题
java·spring boot·后端