java 向父类_Java基础——面向对象(Object父类)

原标题:Java基础——面向对象(Object父类)

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。

Object 父类:

Object的方法:clone() Object 克隆to String() String 转字符串equals(Object) boolean 比较对象是否相等get Class() Class 模板对象,通过此方法获得模板对象。hashCode() int 转换成数字gc 垃圾回收

equals方法讲解:GetClass() 当前对象calssO.getClass() 传进来对象的classgetClass()!=o.getClass() 当前的class与传进来的class 进行比较,如果相同 就是同一个类,不相同就不是同一个类,return false。

f46b480131fe450c9bac39b279888633.jpeg

为什么要把o == null放在前面比较?对象变量不指向一片内存是获得不到里面数据的、没有办法访问的。如果o是空的话去调用会发生错误,因为o没得到内存是不可以参与访问的。空指针错误!Onull放到后面先运行的会是getClass()!=0.getClass(),万一o传进来是空(null)的话,调用时就会发生错误。Onull放到前面,|| 的运算方式是如果前面为true,后面就不会运行。

c5e37c5bea29479080ad48fbc2bda569.jpeg

clone() 克隆:我们在传递对象,或者赋值对象的时候都是引用传递,没有复制传递。我想给我的对象创建副本?对象复制一般复制什么?对象和对象之间复制的是属性值!1.深克隆 :把外界引用的对象同时引用给自己。2.浅克隆 :把外界引用的对象也引用一份。

浅克隆:

26435b01aa8941178ae991217d8e7498.jpeg

测试:克隆异常处理:选中报错代码区域,Alt键+回车。

632ede1b19294943a14f82a0a14263e9.jpeg

浅克隆内存申请:

d098e66cef8e4156b022b5b2f549e254.jpeg

深克隆:里面寄存一个属性Dog。

bc90f1cb742c4076b116c26f3410a57e.jpeg

测试:

6501f9e43df348a28d3d076f36490c2f.jpeg

深克隆内存申请:

3112f892b297464ea10e3e96ea83e734.jpeg

to String() String 转字符串:用于打印属性值,与字符串相加或者打印对象时会自动调用to String()方法。介绍类的情况、参数值,返回出来的是字符串。字符串返回出来的作用就是:用来介绍类的属性情况,类里面 的内容。

ce3498677da14315951709c05e0387ca.jpeg

打印方式:介绍,把属性值打印出来。

f8441a1a64a64b59bacb5aec46729414.jpeg

gc 垃圾回收:System.gc() 方法会促进垃圾回收启动。什么对象会被回收?Dog dog=new Dog();Dog=null; 只要你的对象没有对象变量指向,java就可以把你的对象自动回收。 没有任何变量引用的内存就会回收。在老版本的JDK中,只要你回收对象就会先调用finalize()进行通知。

洱海网 www.erhainews.com 2018-07-12 21:35:12

本文地址: https://www.erhainews.com/n8216483.html

对象 克隆 Object getClass 回收

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/366241.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

fedora 不在sudoers文件中_COPR 仓库中 4 个很酷的新软件(2019.4) | Linux 中国

COPR 是个人软件仓库集合,它不在 Fedora 中。这是因为某些软件不符合轻松打包的标准。或者它可能不符合其他 Fedora 标准,尽管它是自由而开源的。-- Dominik TurecekCOPR 是个人软件仓库集合[1],它不在 Fedora 中。这是因为某些软件不符合轻松…

弹性盒布局实例

今天给大家搞一个弹性盒布局的实例,最近一直在复习一些基础的东西,所以一直会跟大家分享一些基础的东西 说实话,最近感觉被掏空了,别问我为什么,谁去保健谁知道,哈哈,注意安全,好了步…

win7插了耳机还是外放_安卓手机用耳机听歌音量太大怎么办

大部分安卓手机控制音量不是线性调节的,很难随心调节音量大小,这导致用耳机插手机听歌的时候即使开了最低音量,很多人觉音量还是太大,尤其是在夜深人静的时候。怎么解决呢?个人整理了一些方法。一无需root,…

vue lang_新疆人的“lang”是“浪”吗?

小编:“老王,天气这么热,过几天我们几个人约上要到巩乃斯lang起呢也享受一下避暑生活么,你去不去?“老王:”这个礼拜六礼拜天都有事呢礼拜六我乌什塔拉的姨娘家出嫁丫头呢礼拜天五号渠的阿哥家给娃娃娶媳妇…

js将canvas保存成图片并下载

<canvas id"canvas" width"400" height"400"></canvas> <div><button id"save">保存</button> </div>var arr [{locations:[[0,0],[200,200],[0,400]],color:"red"},{locations:[[0,0…

java 图片去除黑边_根据 Map 上的变量绘制彩色和形状的点时,保持符号的黑色边框(geom_point)...

我的问题与this thread有些相关&#xff0c;但我想为每个符号实际上都有黑色边框&#xff0c;因为我有符号重叠的实例&#xff0c;我认为有边框会有所帮助 . 但是&#xff0c;我的颜色和形状基于geom_point中美学内部的变量&#xff0c;因此使用shape 21和color NA的解决方案…

使用GreenDao 添加字段,删除表,新增表操作

GreenDao 给我个人感觉 比一般的ORM框架要好很多&#xff0c;虽然说上手和其他的比起来&#xff0c;较复杂&#xff0c;但是如果使用熟练以后&#xff0c;你会爱上这个框架的 用这些ORM 框架给我的感觉都是&#xff0c;当升级时&#xff0c;都需要进行数据库所有表的删除&#…

linux下log日志乱码_如何用 Linux 技巧大大提高工作效率?

作者 | 守望先生责编 | 屠敏前言Linux中的一些小技巧可以大大提高你的工作效率&#xff0c;本文就细数那些提高效率或者简单却有效的Linux技巧。命令编辑及光标移动这里有很多快捷键可以帮我们修正自己的命令。接下来使用光标二字代替光标的位置。删除从开头到光标处的命令文本…

Go语言基础之15--文件基本操作

一、文件读写 1.1 os.File os.File封装所有文件相关操作&#xff0c; 是一个自定义的struct。 a. 打开一个文件进行读操作&#xff1a; os.Open(name string) (*File, error) Open是以读的方式打开文件&#xff08;底层调用的是Openfile函数&#xff09;。 b. 关闭一个文件&…

UIBOT调试时步入的快捷键_远程调试 bug ,快速定位问题

情况是这样的&#xff0c;现在的产品出现了一个 bug ,需要及时排查快速解决&#xff0c;你是怎么样解决的呢&#xff1f;解决&#xff1a;登陆服务器&#xff0c;查看日志&#xff0c;看一下哪里有问题&#xff0c;然后本地运行程序进行debug ,解决后&#xff0c;在重新打包部署…

vim ctags java源码_如何使用vim的插件Ctags查看Linux源码

一.ubuntu下安装Linux内核源码(1).查看自己的内核版本(2).查看源内的内核源码类表(3).下载源码(4).进入/usr/src(5).解压下载的文件到用户主二.安装vim插件Ctags和使用插件的介绍Ctags工具是用来遍历源代码文件生成tags文件&#xff0c;这些tags文件能被编辑器或其它工具用来快…

MySql - GROUP BY 和 HAVING关键字

本文主要针对GROUP BY 和 HAVING两个关键字进行分析 使用测试表如下&#xff1a; 测试前&#xff0c;只知道GROUP BY 这个关键字的作用是根据一个字段进行分组&#xff0c;去重。HAVING对分组设置条件。 具体分组规则&#xff0c;设置条件不清楚。 测试开始 首先 单独使用GROUP…

浏览器缓存原理以及本地存储

作为一名前端工作人员&#xff0c;前端的缓存知识是必须掌握的&#xff0c;因为一个网站打开网页的速度直接关系到用户体验&#xff0c;用户粘度&#xff0c;而提高网页的打开速度有很多方面需要优化&#xff0c;其中比较重要的一点就是利用好缓存&#xff0c;缓存文件可以重复…

linux shell 宏定义_linux内核修炼之系统调用

fork()这个系统调用是有两个返回值的&#xff0c;在子进程中的返回值是0&#xff0c;在父进程中的返回值是PID&#xff0c;如下图 fork一次 返回两次关于0x80中断和特权级检查在mian函数的sched_init()函数中调用宏&#xff1a;set_system_gate(0x80,&system_call);将0x80号…

angularjs的$http请求方式

/*$http常用的几个参数$http服务的设置对象:1、method 字符串 表示发送的请求类型 get post jsonp等等2、url 字符串 绝对或者相对的URL,请求的目标3、params 字符串或对象 会被转化成查询字符串加到URL后面&#xff0c;如果不是字符串会被JSON序列化4、data 字符串或者对象 这…

response对象设置返回状态_postman 设置全局变量

postman大家都知道是一个测试接口的工具&#xff0c;也是目前比较流行的一种测试工具&#xff0c;但是postman只是用来将API地址和参数填入send一下就完了吗&#xff1f;其实不是&#xff0c;关于postman其实有很多玩法&#xff0c;对于测试来说我觉得掌握了postman是非常有必要…

测试过大输入的代码

在编写单元测试时&#xff0c;我们主要关注业务的正确性。 我们将竭尽所能&#xff0c;开开心心地走在最前沿。 我们有时会进行微基准测试并衡量吞吐量。 但是经常遗漏的一个方面是当输入过大时我们的代码如何表现&#xff1f; 我们测试了如何处理正常的输入文件&#xff0c;格…

资源不在java项目和构建路径上_编译单元不在Java项目的构建路径上-Maven

今天,我已经在日食中导入了一个Maven项目.当我尝试自动建议时,当我添加一些代码时,它提示我“编译单元不在Java项目的构建路径上”.我没有看到解决此问题的方法,但是都没有解决.这个应该做什么&#xff1f;xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://m…

Django 第八课 2.【MySQL相关软件 mysqlclient Navicat Premium】

MySQL 驱动程序安装&#xff1a; 我们使用 Django 来操作 MySQL&#xff0c;实际上底层还是通过 Python来操作的。因此我们想要用 Django 来操作 MySQL&#xff0c;首先还是需要安装一个驱动程序。在python3中&#xff0c;驱动程序有多种选择。比如pymysql 以及mysqlclient等。…

查看串口的驱动信息

1、查看串口的驱动信息 2、驱动安装文件&#xff1a;http://www.wch.cn/download/CH341SER_EXE.html 3、参考驱动资料:https://blog.csdn.net/jazzsoldier/article/details/70169732 转载于:https://www.cnblogs.com/qy1234/p/10146303.html