Object 对象详解

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

面向对象的核心思想:“找合适的对象,做适合的事情”。

合适的对象:

1. 自己描述类,自己创建对象。

2. sun已经描述了好多常用的类,可以使用这些类创建对象。

API(Application Program Interface)

sun定义的那么多类的终极父类是Object。Object描述的是所有类的通用属性与方法。

1.1 toString方法

40060000ca6a500d8f8b

toString() 返回对象的描述信息 java.lang.Object@de6ced 类名@哈希码值的十六进制形式。

直接输入一个对象的时候,会调用对象的toString方法。

练习:自定义一个Person类,打印该对象的描述信息,要求描述信息为:姓名 — 年龄

400a0000d4715d53a70d

问题:调用p的toString方法时,打印出来的信息是类名+内存地址值。不符合要求。根据我们之前学的继承,假如父类的指定的功能不能满足要求,那么子类可以复写父类的功能函数。那么该对象再调用toString()方法时,则会调用子类复写的toString方法。

40090000df8b0798abf0

编程习惯:开发者要对自定义的类重写toString(),对对象做详细的说明

1.1 equals方法

equals() 返回的是比较的结果 如果相等返回true,否则false,比较的是对象的内存地址值。

400b0000c45ed19c506c

问题:比较两个人是否是同一个人,根据两个人的名字判断。

400b0000c4e055963a44

问题:如果根据名字去作为判断两个人是否是同一个时,明显p与p1是同一个人,但是程序输入却不是同一个人。不符合我们现实生活的要求。

解决: 根据我们学的继承中的函数复写,如果父类的函数不能满足我们目前的要求,那么就可以在子类把该功能复写,达到复合我们的要求。

40090000e114bc085557

编程习惯:开发者要对自定义的类重写equals(),使得比较两个对象的时候比较对象的属性是否相等,而不是内存地址。

1.1 hashCode方法

hashCode() 返回该对象的哈希码值: 采用操作系统底层实现的哈希算法。 同一个对象的哈希码值是唯一的。

java规定如果两个对象equals返回true,那么这两个对象的hashCode码必须一致。

400a0000d6985c56deee

 

转载于:https://my.oschina.net/u/1054538/blog/1648335

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

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

相关文章

vi/vim命令

概述 vi: Visual Interface vim: VI iMproved vim模式 有三种: 编辑模式(命令模式) 如:通过命令新增一行,删除一行,复制一行,光标移动等 输入模式 输入模式在屏幕末尾一定有这个“-- INSERT --” 末行模式 ESC&…

python条件判断true_Python中的True,False条件判断实例分析

本文实例讲述了Python中的True,False条件判断用法。分享给大家供大家参考。具体分析如下:对于有编程经验的程序员们都知道条件语句的写法:以C为例:代码如下:if (condition){doSomething();}对于Python中的条件判断语句的写法则是下面的样子&a…

python安装报错类型_解决Python安装cryptography报错问题

解决Python安装cryptography报错问题错误一:gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python2.7 -c c/_cffi…

使用ntpdate校正linux系统的时间

原文地址:http://blog.csdn.net/lixianlin/article/details/7045321 ------------------------------------------------------------------------------------- 当Linux服务器的时间不对的时候,可以使用ntpdate工具来校正时间。 安装:yum in…

Visual Studio 2017 15.6发布

\看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料!\\\微软发布了Visual Studio 2017的第6次升级。和之前的发布一样,此次升级包含多项Bug修复和整个IDE使用体验的改善…

主mysql删除从服务不同步_MySQL主从不同步解决

由于binlog日志带多删除了几个后发现MySQL主从不同步1、由于binlog日志带多删除了几个后发现MySQL主从不同步mysql> show slave status\G;Slave_IO_Running: NoSlave_SQL_Running: Yes查看报错日志为[ERROR] Slave I/O: Got fatal error 1236 from master when reading data…

python切片是什么_python列表切片是什么

我们基本上都知道Python的序列对象都是可以用索引号来引用的元素的,索引号可以是正数由0开始从左向右,也可以是负数由-1开始从右向左。在Python中对于具有序列结构的数据来说都可以使用切片操作,需注意的是序列对象某个索引位置返回的是一个元…

cat-grep-sed应用案例

案例&#xff1a; 已知文件test.txt内容为&#xff1a; test liming xiaoming 请打印出test.txt内容时&#xff0c;不包含xiaoming字符串的命令。 创建文件test.txt [roothello110 testdata]# cat >>test.txt<<EOF > test > liming > xiaoming >…

机器学习(一)梯度下降算法的实现及过程分析

机器学习&#xff08;一&#xff09;梯度下降算法 因为算法最好能应用到实际问题中才会让读者感到它的真实的用处&#xff0c;因此首先我来描述一个实际问题&#xff08;梯度下降算法用以帮助解决该问题&#xff09;&#xff1a;给定一个指定的数据集&#xff0c;比如由若干某一…

quick time不可用_那些校园中“不可言说”的鄙视链

原标题&#xff1a;那些校园中“不可言说”的鄙视链俗话说&#xff0c;有人的地方就有江湖&#xff0c;有江湖的地方总有人喜欢论论剑&#xff0c;分个高低&#xff0c;更何况是聚集了五湖四海人群的大学呢&#xff01;今天小U总结出了一篇高校鄙视链大全&#xff0c;快来看看符…

select怎么设置默认值_20200817:详细说下数据倾斜怎么解决?

福哥答案2020-08-17&#xff1a;数据倾斜是大数据领域绕不开的拦路虎&#xff0c;当你所需处理的数据量到达了上亿甚至是千亿条的时候&#xff0c;数据倾斜将是横在你面前一道巨大的坎。很可能有几周甚至几月都要头疼于数据倾斜导致的各类诡异的问题。数据倾斜是指&#xff1a;…

邢不行python资源_邢不行—数字货币python量化投资

本帖最后由 ynjie 于 2020-10-14 21:39 编辑课时1.1 什么是量化投资.mp4课时1.2 数字货币市场特点.mp4课时1.3 2018量化炒币7大玩法复盘.mp4课时1.4 量化策略案例&#xff1a;Excel演示定投策略.mp4课时1.5 量化策略案例&#xff1a;Python演示定投策略.mp4课时1.6 量化策略案例…

数据库查询某一列大写转化小写字母表示_基于MySQL数据库下亿级数据的分库分表...

移动互联网时代&#xff0c;海量的用户数据每天都在产生&#xff0c;基于用户使用数据的用户行为分析等这样的分析&#xff0c;都需要依靠数据都统计和分析&#xff0c;当数据量小时&#xff0c;数据库方面的优化显得不太重要&#xff0c;一旦数据量越来越大&#xff0c;系统响…

ASP.NET Core Docker Jenkins 零基础持续集成实战

一.本系列教程说明 源代码管理工具&#xff1a;Gogs 持续集成工具&#xff1a;Jenkins 容器&#xff1a;Docker 二.git管理软件的选择 没有采用gitlab&#xff0c;因为gitlab比较吃配置&#xff0c;至少得2核4G的配置。采用go语言开发的gogs来代替&#xff0c;搭建方便(不到10分…

vs 启动调用的目标发生异常_协程中的取消和异常 | 取消操作详解

在日常的开发中&#xff0c;我们都知道应该避免不必要的任务处理来节省设备的内存空间和电量的使用——这一原则在协程中同样适用。您需要控制好协程的生命周期&#xff0c;在不需要使用的时候将它取消&#xff0c;这也是结构化并发所倡导的&#xff0c;继续阅读本文来了解有关…

java http 下载文件_JAVA通过HttpURLConnection 上传和下载文件的方法

本文介绍了JAVA通过HttpURLConnection 上传和下载文件的方法&#xff0c;分享给大家&#xff0c;具体如下&#xff1a;HttpURLConnection文件上传HttpURLConnection采用模拟浏览器上传的数据格式&#xff0c;上传给服务器上传代码如下&#xff1a;package com.util;import java…

mkdir-yum-tree命令应用案例

案例&#xff1a; 请用一条命令完成目录创建/hello/world/test 解答&#xff1a; mkdir -p /hello/world/test -p 递归创建目录&#xff0c;没有子目录创建。 案例&#xff1a; 打印hello/目录的结构 [roothello110 ~]# tree hello/ -bash: tree: command not found 发…

pytorch 图像分割的交并比_Segmentation101系列-最简单的卷积网络语义分割(1)-PASCAL VOC图像分割...

作者&#xff1a;陈洪瀚 /洪瀚笔记知乎专栏摘要&#xff1a;介绍了使用PyTorch和torchvision加载训练好的全卷积网络FCN或DeepLab模型&#xff0c;并对PASCAL VOC图像进行分割并显示结果。网址&#xff1a;github代码链接, 码云代码链接陈洪瀚​www.zhihu.com一. 准备实验数据下…

python selenium chrome获取每个请求内容_python+selenium调用chrome打开网址获取内容

通过selenium库&#xff0c;python可以调用chrome打开指定网页并获取网页内容或者模拟登陆获取网页内容1&#xff0c;安装selenium和配置chromedriver安装seleniumC:\Users\cord> pip install selenium配置chromedriver该下载什么版本根据浏览器版本以及附录的版本对照表下载…