电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Java基礎之Object類詳解

瀏覽:99日期:2022-08-13 11:17:44
object類的介紹

object是所有類的直接父類或者是間接父類,為什么這么說呢?

可以查詢java8的API幫助文檔:

Java基礎之Object類詳解

可見在這樣的一個類樹中,所有的類的根還是Object類

在IDEA中新建一個類,系統會默認繼承Object類

public class Pet extends Object{}

那么Dog繼承了Pet類的屬性和行為方法,還會繼承Object類的屬性和行為方法了嗎?這一點是肯定的,Pet類作為Object類的子類,Dog類作為Pet類的子類,所以說Object是Dog類的間接父類,當然也繼承了Object的特性。

也就是說Object類是所有類的祖宗類,也是所有類的根,而Object翻譯過來是對象的意思。當然,也就是程序猿常用的一句話:萬物皆對象。

也就是可以在類中調用Object類的相關屬性和行為方法了:

Java基礎之Object類詳解

比如說equals就是其中一個。那么Object類中被子類經常重寫的方法有哪些呢?

方法 說明 toString() 返回當前對象本身的有關信息,按照字符串對象返回 equals() 比較兩個對象是否是同一個對象,是則返回 truehashCode() 返回該對象的哈希代碼值 getClass() 獲取當前對象所屬的類信息,返回Class對象

接下來以表格中的Object方法為例,簡述它的使用方法:

equals()方法

Object類的equals()方法是用來比較兩個對象是否是同一個對象的,是則返回true,比較類似于操作符中的==。在簡單數據類型(int float double等)中,直接比較值;在引用數據類型中比較的是是否是同一個對象。

package cn.zhz.Kind;//學生類public class Student01 extends Object { private int sid; private String name; private int age; private int weight; public Student01() { } public Student01(int sid, String name, int age, int weight) {this.sid = sid;this.name = name;this.age = age;this.weight = weight; } public int getSid() {return sid; } public void setSid(int sid) {this.sid = sid; } public String getName() {return name; } public void setName(String name) {this.name = name; } public int getAge() {return age; } public void setAge(int age) {this.age = age; } public int getWeight() {return weight; } public void setWeight(int weight) {this.weight = weight; } public static void main(String[] args) {//student01和student02不是同一個對象Student01 student01 = new Student01(1, '張三', 12, 90);Student01 student02 = new Student01(1, '張三', 12, 90);//判斷兩個對象是否是同一個對象:==或者是equalsSystem.out.println(student01 == student02);System.out.println(student01.equals(student02));//student03和student04是同一個對象Student01 student03 = new Student01(2, '趙三', 22, 450);Student01 student04 = student03;System.out.println(student03 == student04);System.out.println(student03.equals(student04)); }}重寫Object類中的常用方法

Object類中的equals()是用來判斷兩個對象是否是同一個對象,那么我們要求在實際中兩名學員的學號和姓名相同就為同一個對象,在這種情況下就需要考慮對equals()方法進行重寫

重寫Object類中的equals方法

package cn.zhz.Kind;import java.util.Objects;//學生類public class Student01 extends Object { private int sid; private String name; private int age; private int weight; public Student01() { } public Student01(int sid, String name, int age, int weight) {this.sid = sid;this.name = name;this.age = age;this.weight = weight; } public int getSid() {return sid; } public void setSid(int sid) {this.sid = sid; } public String getName() {return name; } public void setName(String name) {this.name = name; } public int getAge() {return age; } public void setAge(int age) {this.age = age; } public int getWeight() {return weight; } public void setWeight(int weight) {this.weight = weight; } @Override //將equals()方法體自定義為我們自己的比較規則即可:兩個學生的學號和姓名相同,就認為是同一個學生對象 //判斷obj和this(當前學生對象)是否是同一個對象 public boolean equals(Object obj) {if (this == obj) { //如果this當前學生對象和obj內存地址相同,==結果為true,就認為兩者是同一個對象 return true;}//如果傳進來的obj對象不是學生類型(student)類型,結果一定是false//instanceof運算符:用來判斷某一個對象是否是某種類型 對象名稱 instanceof 類型名if (!(obj instanceof Student01)) { return false;}//如果obj是Student01類型Student01 s = (Student01) obj;//比較s和this的sid和name即可if (this.sid == s.sid && this.name.equals(s.name)) { return true;} else { return false;} } public static void main(String[] args) {//student01和student02不是同一個對象Student01 student01 = new Student01(1, '張三', 12, 90);Student01 student02 = new Student01(1, '張三', 12, 90);//判斷兩個對象是否是同一個對象:==或者是equalsSystem.out.println(student01 == student02);System.out.println(student01.equals(student02));//student03和student04是同一個對象Student01 student03 = new Student01(2, '趙三', 22, 450);Student01 student04 = student03;System.out.println(student03 == student04);System.out.println(student03.equals(student04)); }}

instanceof用于判斷一個引用類型所引用的對象是否是一個類的實例

重寫toString()方法

package cn.zhz.Kind;import java.util.Objects;//學生類public class Student01 extends Object { private int sid; private String name; private int age; private int weight; public Student01() { } public Student01(int sid, String name, int age, int weight) {this.sid = sid;this.name = name;this.age = age;this.weight = weight; } public int getSid() {return sid; } public void setSid(int sid) {this.sid = sid; } public String getName() {return name; } public void setName(String name) {this.name = name; } public int getAge() {return age; } public void setAge(int age) {this.age = age; } public int getWeight() {return weight; } public void setWeight(int weight) {this.weight = weight; } @Override //將equals()方法體自定義為我們自己的比較規則即可:兩個學生的學號和姓名相同,就認為是同一個學生對象 //判斷obj和this(當前學生對象)是否是同一個對象 public boolean equals(Object obj) {if (this == obj) { //如果this當前學生對象和obj內存地址相同,==結果為true,就認為兩者是同一個對象 return true;}//如果傳進來的obj對象不是學生類型(student)類型,結果一定是false//instanceof運算符:用來判斷某一個對象是否是某種類型 對象名稱 instanceof 類型名if (!(obj instanceof Student01)) { return false;}//如果obj是Student01類型Student01 s = (Student01) obj;//比較s和this的sid和name即可if (this.sid == s.sid && this.name.equals(s.name)) { return true;} else { return false;} } public String toString() {return this.name; } public static void main(String[] args) {//student01和student02不是同一個對象Student01 student01 = new Student01(1, '張三', 12, 90);Student01 student02 = new Student01(1, '張三', 12, 90);//判斷兩個對象是否是同一個對象:==或者是equalsSystem.out.println(student01 == student02);System.out.println(student01.equals(student02));//student03和student04是同一個對象Student01 student03 = new Student01(2, '趙三', 22, 450);Student01 student04 = student03;System.out.println(student03 == student04);System.out.println(student03.equals(student04));System.out.println('-----------------');//如下兩句代碼作用相同,輸出一個對象時,等同于調用了它的toString()方法System.out.println(student01.toString());System.out.println(student01);String s = 'test';System.out.println(s.toString());System.out.println(s); }}

到此這篇關于Java基礎之Object類詳解的文章就介紹到這了,更多相關java Object類內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 派财经_聚焦数字经济内容服务平台 | 上海公司注册-代理记账-招投标审计-上海昆仑扇财税咨询有限公司 上海冠顶工业设备有限公司-隧道炉,烘箱,UV固化机,涂装设备,高温炉,工业机器人生产厂家 | 艺术生文化课培训|艺术生文化课辅导冲刺-济南启迪学校 | 「安徽双凯」自动售货机-无人售货机-成人用品-自动饮料食品零食售货机 | 涂层测厚仪_光泽度仪_uv能量计_紫外辐照计_太阳膜测试仪_透光率仪-林上科技 | 臭氧发生器_臭氧消毒机 - 【同林品牌 实力厂家】 | 运动木地板厂家_体育木地板安装_篮球木地板选购_实木运动地板价格 | 照相馆预约系统,微信公众号摄影门店系统,影楼管理软件-盟百网络 | 南京PVC快速门厂家南京快速卷帘门_南京pvc快速门_世界500强企业国内供应商_南京美高门业 | SMN-1/SMN-A ABB抽屉开关柜触头夹紧力检测仪-SMN-B/SMN-C-上海徐吉 | 天津热油泵_管道泵_天津高温热油泵-天津市金丰泰机械泵业有限公司【官方网站】 | 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | ★店家乐|服装销售管理软件|服装店收银系统|内衣店鞋店进销存软件|连锁店管理软件|收银软件手机版|会员管理系统-手机版,云版,App | 不锈钢水箱生产厂家_消防水箱生产厂家-河南联固供水设备有限公司 | 皮带输送机-大倾角皮带输送机-皮带输送机厂家-河南坤威机械 | 骨灰存放架|骨灰盒寄存架|骨灰架厂家|智慧殡葬|公墓陵园管理系统|网上祭奠|告别厅智能化-厦门慈愿科技 | 仿古建筑设计-仿古建筑施工-仿古建筑公司-汉匠古建筑设计院 | 高压无油空压机_无油水润滑空压机_水润滑无油螺杆空压机_无油空压机厂家-科普柯超滤(广东)节能科技有限公司 | 压缩空气检测_气体_水质找上海京工-服务专业、价格合理 | 回转窑-水泥|石灰|冶金-巩义市瑞光金属制品有限责任公司 | Boden齿轮油泵-ketai齿轮泵-yuken油研-无锡新立液压有限公司 | 生产加气砖设备厂家很多,杜甫机械加气砖设备价格公道 | EFM 022静电场测试仪-套帽式风量计-静电平板监测器-上海民仪电子有限公司 | 皮带机-带式输送机价格-固定式胶带机生产厂家-河南坤威机械 | 砂石生产线_石料生产线设备_制砂生产线设备价格_生产厂家-河南中誉鼎力智能装备有限公司 | 山东钢衬塑罐_管道_反应釜厂家-淄博富邦滚塑防腐设备科技有限公司 | 水质监测站_水质在线分析仪_水质自动监测系统_多参数水质在线监测仪_水质传感器-山东万象环境科技有限公司 | 锂辉石检测仪器,水泥成分快速分析仪-湘潭宇科分析仪器有限公司 | 中国玩具展_玩具展|幼教用品展|幼教展|幼教装备展 | 金属切削液-脱水防锈油-电火花机油-抗磨液压油-深圳市雨辰宏业科技发展有限公司 | 南京技嘉环保科技有限公司-杀菌除臭剂|污水|垃圾|厕所|橡胶厂|化工厂|铸造厂除臭剂 | 诸城网站建设-网络推广-网站优化-阿里巴巴托管-诸城恒泰互联 | 活性炭-蜂窝-椰壳-柱状-粉状活性炭-河南唐达净水材料有限公司 | 膜结构车棚|上海膜结构车棚|上海车棚厂家|上海膜结构公司 | 密封圈_泛塞封_格莱圈-[东莞市国昊密封圈科技有限公司]专注密封圈定制生产厂家 | 招商帮-一站式网络营销服务|搜索营销推广|信息流推广|短视视频营销推广|互联网整合营销|网络推广代运营|招商帮企业招商好帮手 | 高防护蠕动泵-多通道灌装系统-高防护蠕动泵-www.bjhuiyufluid.com慧宇伟业(北京)流体设备有限公司 | 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 东莞猎头公司_深圳猎头公司_广州猎头公司-广东万诚猎头提供企业中高端人才招聘服务 | 洗地机_全自动洗地机_手推式洗地机【上海滢皓环保】 | 国际线缆连接网 - 连接器_线缆线束加工行业门户网站 |