首页 > 其他分享 >对象的使用

对象的使用

时间:2024-02-29 13:01:02浏览次数:26  
标签:p2 p1 变量 对象 Person 引用 使用

既然现在我们知道如何创建对象,那么我们怎么去访问这个对象呢,比如我现在想要去查看或是修改它的名字。

我们同样可以使用一个变量来指代某个对象,只不过引用类型的变量,存储的是对象的引用,而不是对象本身:

public static void main(String[] args) { //这里的a存放的是具体的某个值 int a = 10; //创建一个变量指代我们刚刚创建好的对象,变量的类型就是对应的类名 //这里的p存放的是对象的引用,而不是本体,我们可以通过对象的引用来间接操作对象 Person p = new Person(); }

至于为什么对象类型的变量存放的是对象的引用,比如:

public static void main(String[] args) { Person p1 = new Person(); Person p2 = p1; }

这里,我们将变量p2赋值为p1的值,那么实际上只是传递了对象的引用,而不是对象本身的复制,这跟我们前面的基本数据类型有些不同,p2和p1都指向的是同一个对象(如果你学习过C语言,它就类似于指针一样的存在)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们可以来测试一下:

public static void main(String[] args) { Person p1 = new Person(); Person p2 = p1; System.out.println(p1 == p2); //使用 == 可以判断两个变量引用的是不是同一个对象 }

标签:p2,p1,变量,对象,Person,引用,使用
From: https://www.cnblogs.com/258-333/p/18043391

相关文章

  • 使用Navicat for MySQL远程访问MySql8.0的问题。
    首先我们进入mysql,查看mysql中所有用户权限usemysql;selectuser,hostfromuser;我们发现host默认都是localhost访问权限我们要修改root的远程访问权限updateusersethost='%'whereuser='root';再次执行selectuser,hostfromuser;说明我们已经修改成功了。允许......
  • 如何使用 vscode 搭建 Django Restful API 开发环境 All In One
    如何使用vscode搭建DjangoRestfulAPI开发环境AllInOnevscode+Django(Python)demos(......
  • Pmd-ida 插件安装使用
    Pmd-ida代码工程:https://github.com/ybroeker/pmd-ideaPmd-idea主页:https://plugins.jetbrains.com/plugin/15412-pmd-idea 路径:file->setting->plugins->Marketplace,国内在线安装下载吧不到安装包,到https://github.com/ybroeker/pmd-idea 在release界面下载和idea版本适配......
  • chromedriver 自动下载链接进行文件下载 (保持系统人工登录的状态,使用已打开的浏览器人
    需求:爬取需要登录系统才能访问页面,且知道系统登录账号解决方法:参考:https://blog.csdn.net/qq_39835505/article/details/124712410   感谢博主!自己打开Chrome浏览器,登录系统,使用chromedriver调用已开的Chrome浏览器打开自动下载链接进行文件下载解决步骤:......
  • WPF性能优化:Visual Studio性能分析工具使用介绍
    在硬件性能不断提升的现在,软件性能依旧是开发人员关注的重点。不同类型的程序关注的具体性能指标有所不同,服务器程序注重吞吐量,游戏引擎追求渲染效率,桌面程序则关注内存消耗以及界面加载效率和流畅性。当我们需要进行性能优化时,首先需要找到性能瓶颈。本文将介绍两个WPF性能优化......
  • OWASP TOP 10之使用含有已知漏洞的组件
     更多网络安全干货内容:点此获取———————这种安全漏洞非常普遍。基于组件开发的模式使得多数开发团队根本不了解其应用或API中使用的组件,更谈不上及时更新这些组件了。如Retire.js之类的扫描器可以但这类漏洞是否可以被利用还需花费额外的时间去研究。虽然对于一些已知......
  • 【C++】相对于数组,在链表中添加和删除元素更容易,但排序速度更慢。这就引出了一种可能
    相对于数组,在链表中添加和删除元素更容易,但排序速度更慢。这就引出了一种可能性:相对于使用链表算法进行排序,将链表复制到数组中,对数组进行排序,再将排序后的结果复制到链表中的速度可能更快;但这也可能占用更多的内存。请使用如下方法检验上述假设。a.创建大型vector<int>对象vi0,并......
  • 在K8S中,ingress该如何使用?
    在Kubernetes(K8s)中,Ingress是一种API对象,它提供了对外部请求进入集群内部服务的一种统一入口和路由机制。Ingress控制器是一个运行在集群中的守护进程,它监听Ingress对象的变化并配置相应的负载均衡器或代理服务,以便根据定义的规则转发HTTP(S)请求到后端的Service。以下是使用......
  • Linux系统 - 使用 cmatrix 实现数字雨效果
    1.下载cmatrix源码包。可以在终端中使用wget命令从源码包提供的链接下载,命令如下:wget https://jaist.dl.sourceforge.net/project/cmatrix/cmatrix/1.2a/cmatrix-1.2a.tar.gz2.安装ncurses支持包。在终端中使用yum命令安装ncurses,命令如下:yuminstall-yncurses3.......
  • 云原生:使用HPA和VPA实现集群扩缩容
    1背景我们之前介绍过,随着业务流量上涨之后,我们的系统需要适时的进行扩容。数据存储层我们也介绍过MySQL的扩容ScaleUP(纵向扩展)和ScaleOut(横向扩展)垂直拆分(ScaleUp纵向扩展):包括垂直分库、垂直分表水平拆分(ScaleOut横向扩展):包括库内分表、分库分表详细可以参考笔者......