咱们也应应景,来个Object。插一句题外话,学习使人进步,学习使人快乐。如果还没有对象的话,小伙伴们不妨通过学习来充实自己,让自己早日月薪过万,迎娶白富美,嫁给高富帅,走上人生巅峰。好了,言归正传,我们回到<em>java</em>世界
2021-05-21 09:00:13
今天是520,咱就先不寫異常類了,不吉利o(╥﹏╥)o。首先祝各位看到此篇文章的和沒看到這篇文章的小夥伴們節日愉快。有物件的幸福美滿,沒物件的馬上脫單。咱們也應應景,來個Object。插一句題外話,學習使人進步,學習使人快樂。如果還沒有物件的話,小夥伴們不妨通過學習來充實自己,讓自己早日月薪過萬,迎娶白富美,嫁給高富帥,走上人生巔峰。
好了,言歸正傳,我們回到java世界。今天我要介紹的這個類很應景,叫做「Object」。從這個單詞來看,「object」翻譯為中文就是物件的意思。
那麼這個類說做什麼的呢?這個類在java中有著很特殊的地位,因為它是java中所有類的父類。當一個java類沒有顯式的繼承一個父類的時候,就會自動繼承Object類。
讀到這裡的時候,也許有小夥伴會比較好奇,這個Object類有啥用呀?
彆著急,且聽我娓娓道來。
作為所有java類的父類,Object類會自動被繼承,所以不需要導包。理所當然的,它位於「java.lang」包下。
由於java中的繼承會導致子類獲得父類的公有的屬性與方法,並且Object是所有類的父類,這兩個條件限制之下,Object的作用也就呼之欲出了:描述所有類的共同特性,定義所有類的公有方法,或者說對所有類的方法進行一個統一的規範。
我們來看看Object類的方法:
大家看,m表示「method」,也就是「方法」。在這些方法旁邊有一些小小的標識符。有的是一把開啟的鎖,代表的是這個方法是開放給所有場景的,任何物件都可以呼叫,這類方法使用public修飾符修飾,子類繼承時會繼承這類方法。有的是一把鑰匙,代表在同一包下可以呼叫的方法,使用protected修飾符修飾,會繼承給子類。還有一種使用一把閉合的鎖,這類方法是私有的,意思是隻有Object類裡面才能夠呼叫該方法,使用private修飾符修飾,不會繼承到子類。
我們簡單介紹幾個比較常見的方法。
01getClass方法
該方法用於獲取到該類的運行時物件,說通俗點,就是程式運行的過程中呼叫這個方法的類的物件,有時也叫做位元組碼物件。如圖,我們new了一個Test類的物件。該類會自動繼承Object類的getClass方法。我們通過這個方法獲取到Test物件的運行時物件,呼叫該運行時物件的getName方法即可獲得物件的全類名。
02hashCode方法
該方法返回一個int值。該方法具有如下特性:當物件發生任何變化時,hashCode都會發生變化。利用這個函數,我們能夠做到監控頁面請求傳送的資料是否被惡意篡改。
也可以自己重寫該方法:
03equals方法
該方法用於比較兩個物件是否相等。但是一般情況下,我們都會通過方法重寫自定義該方法,以實現我們自己的物件作比較的邏輯。該方法返回一個布爾值:
04toString方法
該方法用於將物件轉換為字元串。同上個方法一樣,我們也經常自定義該方法。
使用自定義的toString方法能夠使用我們自己定義的格式更優美的打印出物件的屬性以及屬性值。
此外,Object還提供了許多其他的方法供它的子類來繼承使用。比如clone方法,用於進行物件的克隆拷貝,從而得到一個屬性值一模一樣的物件。wait方法用來讓當前執行緒等待。notify與notifyAll方法則是用於喚醒等待的執行緒。finalize方法用於垃圾回收器GC確認一個物件已經沒有被呼叫的可能之後,即將回收物件的記憶體的時候就會呼叫這個方法。
以上就是本章節的全部內容了。你get到了嗎
相關文章
咱们也应应景,来个Object。插一句题外话,学习使人进步,学习使人快乐。如果还没有对象的话,小伙伴们不妨通过学习来充实自己,让自己早日月薪过万,迎娶白富美,嫁给高富帅,走上人生巅峰。好了,言归正传,我们回到<em>java</em>世界
2021-05-21 09:00:13
此次评测,外媒使用的PC配置为<em>Intel</em> i9 9900K/16GB内存/Windows 10 64-bit,此外他们采用了多款显卡来评测这款游戏,从而使得此次评测更具参考价值,这些显卡包括:Radeon RX580/RX Vega 64/GTX690/GTX980Ti/RTX 2080
2021-05-21 08:30:43
英敏特(M<em>intel</em>)消费分析师的一项调查则表明,40%的英国受访者则认为“现在我吃肉比以前少了”;在18-24岁的年轻人中,28%的受访者认为“到2025年,我的饮食可能会基本不吃肉”。 环保压力 - 温室气体排放 Beyon
2021-05-21 08:30:39
5月19日,谷歌在I/O开发者大会上正式发布了安卓12操作系统,尽管之前外媒已经爆料了很多关于安卓12的升级信息,但从官方介绍来看,该系统依旧有不少惊喜的地方。据了解,安卓12将会进一步改善隐私控制,毕竟老对手苹果<em>iOS</e
2021-05-21 08:30:18
按照惯例,我们先测试 MateBook 16 的 <em>CPU</em> 长期负载功耗,测试的方法是连续进行 CINEBENCH R15 多核心的连续跑分测试,结果如下图:最开始 MateBook 16 搭载的 R7-5800H 可以达到接近 2000 cb 的水平,最终也可以稳定
2021-05-21 08:01:05
硬件方面购买intel的<em>CPU</em>,软件购买了微软的DOS操作系统。这个决定造就了现在依然声名赫赫的二个公司。其实微软的Dos系统并不是它自己研发的,而且在与IBM谈判的前夜从另外已经公司购买的,名字好像叫QuickDos。从
2021-05-21 08:01:03