国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

object類(lèi)的概述

WelliJhon / 301人閱讀

摘要:類(lèi)的概述類(lèi)是類(lèi)層次結(jié)構(gòu)的根類(lèi),每個(gè)類(lèi)都使用作為超類(lèi)。即每個(gè)類(lèi)都直接或間接的繼承類(lèi)。在類(lèi)中有方法以的形式返回此對(duì)象所表示的實(shí)體類(lèi)接口數(shù)組類(lèi)基本類(lèi)型或名稱(chēng)。返回該對(duì)象的字符串表示。

object類(lèi)的概述
object類(lèi)是類(lèi)層次結(jié)構(gòu)的根類(lèi),每個(gè)類(lèi)都使用object作為超類(lèi)。

即每個(gè)類(lèi)都直接或間接的繼承object類(lèi)。

object類(lèi)中方法介紹 hashCode
public int hashCode():返回對(duì)象的哈希碼值。

? 注意:哈希值是根據(jù)哈希算法計(jì)算出來(lái)的一個(gè)值,該值與地址值有關(guān),但不是實(shí)際的值。可理解為地址值。

getClass
public final Class getClass():返回object運(yùn)行時(shí)類(lèi),得到一個(gè)Class對(duì)象。返回的 Class 對(duì)象是由所表示類(lèi)的 static synchronized 方法鎖定的對(duì)象。 
?    在Class類(lèi)中有g(shù)etname()方法以 String 的形式返回此 Class 對(duì)象所表示的實(shí)體(類(lèi)、接口、數(shù)組類(lèi)、基本類(lèi)型或 void)名稱(chēng)。
toString
public String toString():返回該對(duì)象的字符串表示。
toString方法返回一個(gè)字符串,它的值等于: 
getClass().getName() + "@" + Integer.toHexString(hashCode())
    
ps:Integer.toHexString()為Integer類(lèi)下一靜態(tài)方法,
public static String toHexString(int i):以十六進(jìn)制(基數(shù) 16)無(wú)符號(hào)整數(shù)形式返回一個(gè)整數(shù)參數(shù)的字符串表示形式。

源碼:
public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }
但toString方法返回的信息是無(wú)意義的。所以建議所以子類(lèi)重寫(xiě)改方法。

重寫(xiě)的格式為:把所有成員變量值返回即可。但這樣不是最好,自動(dòng)生成即可。

class Test{
    int num;
    
    @Override
    public String toString() {
        return "Test [num=" + num + "]";
    }
}

直接輸出一個(gè)對(duì)象的名稱(chēng),就是調(diào)用改對(duì)象的toString()方法。

equals
public boolean equals(Object obj):指示其他某個(gè)對(duì)象是否與此對(duì)象“相等”。
源碼:
public boolean equals(Object obj) {
        return (this == obj);
    }
==:

? 基本類(lèi)型:比較值是否相等。

? 引用類(lèi)型:比較其地址值是否相等。

該方法,默認(rèn)情況比較的是地址值,但是比較地址值意義不大,所以要重寫(xiě)改方法。

在方法重寫(xiě)時(shí)比較對(duì)象的成員變量值是否相同

重寫(xiě)代碼優(yōu)化:提高效率,提高程序健壯性。

要想做到最好優(yōu)化還是自動(dòng)生成。(自動(dòng)生成時(shí)會(huì)和hascode()方法一起生成。)

class Test{
    int num;
    String sfa;

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + num;
        result = prime * result + ((sfa == null) ? 0 : sfa.hashCode());
        return result;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        Test other = (Test) obj;
        if (num != other.num)
            return false;
        if (sfa == null) {
            if (other.sfa != null)
                return false;
        } else if (!sfa.equals(other.sfa))
            return false;
        return true;
    }
}

注:此為eclipse生成可能與idea生成的有所不同,但效果一樣。

finalize
protected void finalize() throws Throwable :當(dāng)垃圾回收器確定不存在對(duì)該對(duì)象的更多引用時(shí),由對(duì)象的垃圾回收器調(diào)用此方法。
clone
protected Object clone() throws CloneNotSupportedException:創(chuàng)建并返回此對(duì)象的一個(gè)副本。“副本”的準(zhǔn)確含義可能依賴于對(duì)象的類(lèi)。

Cloneable:此類(lèi)實(shí)現(xiàn)了Cloneable接口,以示Object.clone()方法合法的進(jìn)行對(duì)該類(lèi)的按字段復(fù)制。

? Cloneable是一個(gè)標(biāo)記接口,表明實(shí)現(xiàn)該接口的類(lèi)可以實(shí)現(xiàn)對(duì)象的復(fù)制。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/74216.html

相關(guān)文章

  • 第八章-Java常用API#yyds干貨盤(pán)點(diǎn)#

    摘要:常用類(lèi)概述包含執(zhí)行基本數(shù)字運(yùn)算的方法沒(méi)有構(gòu)造方法,如何使用類(lèi)中的成員呢看類(lèi)的成員是否都是靜態(tài)的,如果是,通過(guò)類(lèi)名就可以直接調(diào)用。所有類(lèi)都直接或間接的繼承該類(lèi)。 1 常用API1.1 Math1.1.1 Math類(lèi)概述Math包含執(zhí)行基本數(shù)字運(yùn)算的方法沒(méi)有構(gòu)造方法,如何使用類(lèi)中的成員呢?看類(lèi)的成員是否都是靜態(tài)的,...

    番茄西紅柿 評(píng)論0 收藏2637
  • java學(xué)習(xí)(五) —— 常用API類(lèi)概述

    摘要:成員方法類(lèi)概述用于產(chǎn)生隨機(jī)數(shù)成員方法正則表達(dá)式相關(guān)方法判斷功能分割功能替換功能獲取功能和類(lèi)的使用類(lèi)概述包含一些有用的類(lèi)字段和方法。注意它不能被實(shí)例化,因?yàn)榇祟?lèi)構(gòu)造器是私有的成員方法類(lèi)類(lèi)概述表示特定的瞬間,精確到毫秒。 前言 我們都知道,JDK包含了JRE,而JRE中也提供了各種功能的java類(lèi),現(xiàn)在我們就對(duì)這些類(lèi)有個(gè)簡(jiǎn)單了解,然后靈活運(yùn)用。 常用類(lèi):Object類(lèi)/Scanner類(lèi),...

    Tecode 評(píng)論0 收藏0
  • Java編程基礎(chǔ)12——Eclipse使用&Object類(lèi)型

    摘要:如何去掉默認(rèn)注釋選擇你不想要的內(nèi)容,通過(guò)右邊編輯。有什么用用別人寫(xiě)好的東西打包選中項(xiàng)目右鍵自己指定一個(gè)路徑和一個(gè)名稱(chēng)導(dǎo)入包復(fù)制到項(xiàng)目路徑下并添加至構(gòu)建路徑。 1.常見(jiàn)開(kāi)發(fā)工具了解 A:操作系統(tǒng)自帶的記事本軟件 B:高級(jí)記事本軟件 C:集成開(kāi)發(fā)環(huán)境 IDE (Integrated Development Environment) D:Eclipse和MyEclipse的區(qū)別 a...

    張巨偉 評(píng)論0 收藏0
  • Java編程基礎(chǔ)17——集合(List集合)

    1_(去除ArrayList中重復(fù)字符串元素方式)* A:案例演示 需求:ArrayList去除集合中字符串的重復(fù)值(字符串的內(nèi)容相同) 思路:創(chuàng)建新集合方式 import java.util.ArrayList; import java.util.Iterator; public class ArrayList_1_demo { /* 創(chuàng)建新集合將重復(fù)元素去掉 * 1.明...

    scola666 評(píng)論0 收藏0
  • 繼承的實(shí)現(xiàn)方式及原型概述 | JavaScript 隨筆

    摘要:每一個(gè)對(duì)象直接量都是的子類(lèi),即構(gòu)造函數(shù)中的構(gòu)造函數(shù)與普通函數(shù)并沒(méi)有什么兩樣,只不過(guò)在調(diào)用時(shí),前面加上了關(guān)鍵字,就當(dāng)成是構(gòu)造函數(shù)了。由于沒(méi)有傳入變量,在調(diào)用的構(gòu)造函數(shù)時(shí),會(huì)出錯(cuò)這個(gè)問(wèn)題可以通過(guò)一個(gè)空對(duì)象來(lái)解決改自。 showImg(https://segmentfault.com/img/bVmNZj); 對(duì)于 OO 語(yǔ)言,有一句話叫Everything is object,雖然 Ja...

    chenjiang3 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<