Java中如何创建和使用对象?
要想使用一个类则必须要有对象。在Java程序中可以使用new关键字创建对象,具体格式如下:
类名对象名称=null;
对象名称=new 类名();上述格式中,创建对象分为声明对象和实例化对象两步,也可以直接通过下面的方式创建对象,具体格式如下:
类名对象名称=new 类名();例如,创建Student类的实例对象,示例代码如下:
Studentstu=newStudent();上述代码中,newStudent()用于创建Student类的一个实例对象,Studentstu则是声明了一个Student类型的变量stu。运算符“=”将新创建的Student对象地址赋值给变量stu,变量stu引用的对象简称为stu对象。
了解了对象的创建之后,就可以使用类创建对象了,示例代码如下:
classStudent{String name;// 声明姓名属性voidread(){System.out.println("大家好,我是"+ name +",我在看书!");}}publicclassTest{publicstaticvoidmain(String[] args[]){Student stu =newStudent();//创建并实例化对象}}上述代码在main()方法中实例化了一个Student对象,对象名称为stu。使用new关键字创建的对象是在堆内存分配空间。stu对象的内存分配如图3-2所示。

图3-2stu对象的内存分配
从图3-2中可以看出,对象名称stu保存在栈内存中,而对象的属性信息则保存在对应的堆内存之中。
创建Student对象后,可以使用对象访问类中的某个属性或方法,对象属性和方法的访问通过“.”运算符实现,具体格式如下:
对象名称.属性名
对象名称.方法名接下来通过一个案例学习对象属性和方法的访问,如文件3-1所示。
文件3-1Example01.java
classStudent{String name;// 声明姓名属性voidread(){System.out.println("大家好,我是"+ name);}}classExample01{publicstaticvoidmain(String[] args){Student stu1 =newStudent();// 创建第一个Student对象Student stu2 =newStudent();// 创建第二个Student对象stu1.name ="小明";// 为stu1对象的name属性赋值stu1.read();// 调用对象的方法stu2.name ="小华";stu2.read();}}文件3-1的运行结果如图3-3所示。

图3-3文件3-1的运行结果
在文件3-1中,第2~5行代码声明了一个String类型的name属性和一个read()方法,第9~10行代码创建了stu1对象和stu2对象;第11行代码为stu1对象name属性赋值;第12行代码通过stu1对象调用read()方法。
第13行代码为stu2对象name属性赋值;第14行代码通过stu2对象调用read()方法。从图3-3所示的运行结果可以看出,stu1对象和stu2对象在调用read()方法时,打印的name值不相同。这是因为stu1对象和stu2对象是两个完全独立的个体,它们分别拥有各自的name属性,对stu1对象的name属性进行赋值并不会影响到stu2对象name属性的值。为stu1对象和stu2对象中的属性赋值后,stu1对象和stu2对象的内存变化如图3-4所示。

图3-4stu1对象和stu2对象中的属性赋值后的内存变化
从图3-4可以看出,程序分别实例化了两个Student对象stu1和stu2,分别指向各自的堆内存空间。
相关文章:
Java中如何创建和使用对象?
要想使用一个类则必须要有对象。在Java程序中可以使用new关键字创建对象,具体格式如下:类名对象名称null; 对象名称new 类名();上述格式中,创建对象分为声明对象和实例化对象两步,也可以直接通过下面的方式创建对象,具…...
Spring Cloud Alibaba--ActiveMQ微服务详解之消息队列(四)
上篇讲述高并发情况下的数据库处理方式:分布式事务管理机制。即使我们做到这一步并发情况只能稍微得到缓解,当然千万级别的问题不大,但在面对双十一淘宝这类的达上亿的并发的时候仅仅靠分布式事务管理还是远远不够,即使数据库可以…...
32岁,薪水被应届生倒挂,裸辞了
今年 32 岁,我从公司离职了,是裸辞。 前段时间,我有一件事情一直憋在心里很难受,想了很久也没找到合适的人倾诉,就借着今天写出来。 我一个十几年开发经验,八年 软件测试 经验的职场老人,我慢…...
蓝桥杯训练day1
前缀和差分1.前缀和(1)3956. 截断数组(2)795. 前缀和(3)796. 子矩阵的和(4)1230. K倍区间(5)99. 激光炸弹2.差分(1)797. 差分(2)差分矩阵(3)3729. 改变数组元素(4)100. 增减序列1.前缀和 (1)3956. 截断数组 方法1:暴力 先用两个数组分别保存前缀和,后缀…...
Unity毛发系统TressFX Exporter
Unity 数字人交流群:296041238 一:在Maya下的TressFX Exporter 插件安装步骤: 1. 下载Maya的TressFX Exporter插件 下载地址:TressFX Exporter 链接:https://github.com/Unity-China/cn.unity.hairfx.core/tree/m…...
《爆肝整理》保姆级系列教程python接口自动化(十九)--Json 数据处理---实战(详解)
简介 上一篇说了关于json数据处理,是为了断言方便,这篇就带各位小伙伴实战一下。首先捋一下思路,然后根据思路一步一步的去实现和实战,不要一开始就盲目的动手和无头苍蝇一样到处乱撞,撞得头破血流后而放弃了。不仅什么…...
Golang:reflect反射的使用例子
1.reflect包作用 reflect包定义了“反射”相关能力,“反射”在计算机学中是指计算机程序在运行时(runtime)可以访问、检测和修改它本身状态或行为的一种能力。基于反射特性可以通用化地解决一些需要频繁修改代码及硬编码问题,但是…...
markdown常用语法--花括号(超详细)
💌 所属专栏:【Markdown常用语法】 😀 作 者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! …...
BN、SyncBN、IN、LN、GN学习记录
1 BatchNormBN的原理BN是计算机视觉最常用的标准化方法,它沿着N、H、W维度对输入特征图求均值和方差,随后再利用均值和方差来归一化特征图。计算过程如下图所示,1)沿着通道维度计算其他维度的均值;2)沿着通…...
使用 Auto-scheduling 优化算子
本篇回答来源于 TVM 官方英文文档 Lianmin Zheng,Chengfan Jia。更多 TVM 中文文档可访问→https://tvm.hyper.ai/ 本教程将展示 TVM 的 Auto Scheduling 功能,如何在不编写自定义模板的情况下,找到最佳 schedule。 与基于模板的 AutoTVM 依…...
智能运维应用之道,告别企业数字化转型危机
面临的问题及挑战 数据中心发展历程 2000 年中国数据中心始建,至今已经历以下 3 大阶段。早期:离散型数据中心 IT 因以项目建设为导向,故缺乏规划且无专门运维管理体系,此外,开发建设完的项目均是独立运维维护&#…...
第七章 SQL错误信息 - SQL错误代码 -400 到 -500
文章目录第七章 SQL错误信息 - SQL错误代码 -400 到 -500SQL错误代码和消息表WinSock错误代码-10050到-11002第七章 SQL错误信息 - SQL错误代码 -400 到 -500 SQL错误代码和消息表 错误代码描述-400发生严重错误-401严重连接错误-402用户名/密码无效-405无法从通信设备读取-4…...
DDFN: Decoupled Dynamic Filter Networks解耦的动态卷积
一、论文信息 论文名称:Decoupled Dynamic Filter Networks 论文:https://thefoxofsky.github.io/files/ddf.pdf 代码:https://github.com/theFoxofSky/ddfnet 主页:https://thefoxofsky.github.io/project_pages/ddf 作者团…...
NISP认证报名条件是什么?考试内容是什么?
科学技术是社会发展的第一生产力,每个国家为了能够获得更高的国际地位,不断提升自己的科学技术,现代最为先进的技术就是信息通信,在军事、民生、医疗、教育、制造等等领域都起着重要的作用,我们的生活也因为信息技术而…...
利用redis实现缓存、发布订阅、分布式锁功能
Redis是一个内存键值存储数据库,通常用于缓存、会话管理、消息队列等场景。以下是一些常见的Redis使用场景:1.缓存:将常用的数据缓存在Redis中,以减少对数据库的访问次数,提高应用程序的性能。2.会话管理:使…...
SVN无法连接到服务器的各种问题原因及解决办法
SVN专业使用教程详解 第一节 安装VisualSVN Server服务器 第一步 下载SVN服务器,需要链接的请私信。 点击下载的执行文档进行安装 选择组件 选择在部署 VisualSVN Server 时安装VisualSVN Server 和 Administration Tools 组件。 调整初始服务器配置 或者&…...
React 基本使用
目录 React 安装 React基本使用 React脚手架 脚手架使用React JSX基本使用 JSX列表渲染 JSX条件渲染 JSX模板精简 JSX样式控制 JSX综合案例 React 安装 npm i react react-domnpm init -y(生成基础目录文件) <!-- 引入js文件 --><sc…...
单例模式设计(面试题)
1、static修饰变量规则static修饰的静态成员属于 类而不是对象,所有的对象共享一份静态成员数据,所以不占用类的空间static修饰的成员,定义类的时候,必须分配空间static修饰的静态成员数据 必须类中定义 类外初始化静态成员变量可…...
机器学习:基于支持向量机(SVM)进行人脸识别预测
机器学习:基于支持向量机(SVM)进行人脸识别预测 文章目录机器学习:基于支持向量机(SVM)进行人脸识别预测一、实验目的二、实验原理三、实验环境四、实验内容五、实验步骤1.准备数据2.业务理解3.数据理解4.数…...
【服务器数据恢复】多块磁盘离线导致RAIDZ崩溃的数据恢复案例
服务器数据恢复环境: SUN ZFS系列某型号存储阵列; 40块磁盘组建的存储池(其中4块磁盘用作全局热备盘),池内划分出若干空间映射到服务器使用; 服务器使用Windows操作系统。 服务器故障: 服务器在…...
FireRedASR Pro代码详解:从音频预处理到文本后处理全流程
FireRedASR Pro代码详解:从音频预处理到文本后处理全流程 1. 引言 如果你对语音识别感兴趣,想知道一段音频是怎么变成文字的,那么这篇文章就是为你准备的。我们这次不聊怎么用现成的工具,而是直接打开一个叫FireRedASR Pro的语音…...
Youtu-Parsing服务监控与管理:日志查看、状态检查、自动重启
Youtu-Parsing服务监控与管理:日志查看、状态检查、自动重启 1. 服务监控与管理的重要性 在日常使用Youtu-Parsing多模态文档解析服务时,确保服务稳定运行至关重要。作为一款高性能的文档解析工具,Youtu-Parsing需要持续监控其运行状态&…...
如何通过 proc-macro-workshop 快速掌握 Rust 代码生成技术:终极完整指南
如何通过 proc-macro-workshop 快速掌握 Rust 代码生成技术:终极完整指南 【免费下载链接】proc-macro-workshop Learn to write Rust procedural macros [Rust Latam conference, Montevideo Uruguay, March 2019] 项目地址: https://gitcode.com/gh_mirrors/…...
贾子科学定理(Kucius Science Theorem):重构科学本质——公理驱动与结构化范式的确立
贾子科学定理(Kucius Science Theorem):重构科学本质——公理驱动与结构化范式的确立摘要: 贾子科学定理颠覆传统“可证伪性”标准,提出科学本质为“公理驱动可结构化”,构建TMM三层体系(真理层…...
多智能体工程实践升级版:基于 Spring AI Alibaba 构建可扩展、高并发、生产级方案策划系统
多智能体工程实践升级版:基于 Spring AI Alibaba 构建可扩展、高并发、生产级方案策划系统 1. 引言 当业务问题从“问答”升级到“方案生成、任务拆解、跨角色协同、执行闭环”时,单一智能体往往很快碰到能力边界。 原因并不复杂: 单 Agent 擅长基于统一上下文做推理,但…...
m3pi嵌入式机器人底层驱动解析:HAL/LL混合架构与实时电机控制
1. m3pi嵌入式机器人平台底层驱动技术解析m3pi是面向教育与工程验证场景的轻量级嵌入式机器人控制平台,其名称源于“mbed 3pi”,表明其硬件架构继承自Pololu 3pi智能小车,并深度适配ARM Cortex-M系列MCU(主要为STM32F4系列&#…...
打造行业大模型更好还是做垂直 Agent 更好
打造行业大模型更好还是做垂直 Agent 更好?从小学生的糖果王国管理谈起,拆解AI落地的终极选择题关键词:行业大模型、垂直 Agent、AI落地、通用 vs 垂直、能力边界、ROI模型、端云协同、大模型Agent架构摘要:这篇文章从「小学生管理…...
四场景下的两阶段鲁棒优化模型构建与实施——列与约束生成算法及其数据处理机制探究
两阶段鲁棒优化模型 多场景 采用matlab编程两阶段鲁棒优化程序,考虑四个场景,模型采用列与约束生成(CCG)算法进行求解,场景分布的概率置信区间由 1-范数和∞-范数约束,程序含拉丁超立方抽样kmeans数据处理程…...
深度解析:Agent 如何处理“开放性目标”与“约束性规则”的冲突?
深度解析:Agent 如何处理“开放性目标”与“约束性规则”的冲突? 1. 引言 (Introduction) 1.1 核心概念锚定与常见误解破冰 在正式展开冲突处理的技术细节之前,我们必须先锚定文章涉及的三个最核心、最容易被模糊定义/误解的AI Agent领域概念…...
weixin283基于微信小程序校园订餐的设计与开发+ssm(文档+源码)_kaic
第5章 系统实现 5.1用户登录功能的界面实现 本系统中可以保证安全的功能就是用户登录功能,登录可以验证用户的身份,用户可以注册,当密码忘记后也可以通过忘记密码功能进行找回。在用户登录界面里采用上中下的方式进行设计。在上设计的是功能…...
