最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JAVA中Object的常用方法

 更新時(shí)間:2023年11月06日 11:56:28   作者:張丁花  
JAVA中Object是所有對(duì)象的頂級(jí)父類,存在于java.lang包中,這個(gè)包不需要我們手動(dòng)導(dǎo)包,本文通過實(shí)例代碼介紹JAVA中Object的常用方法,感興趣的朋友一起看看吧

JAVA中Object的使用 

首先引入API的概念

API:Application Programming Interface應(yīng)用編程接口,一切可以調(diào)用的東西都是API。

java.lang包,這個(gè)包會(huì)自動(dòng)導(dǎo)入。

java.lang.Object

java.lang.String

java.lang.StringBuilder/StringBuffer

正則表達(dá)式

包裝類等

1. 概念

所有對(duì)象的頂級(jí)父類

存在于java.lang包中,這個(gè)包不需要我們手動(dòng)導(dǎo)包

2. 常用方法

boolean equals(Object obj)
          指示其他某個(gè)對(duì)象是否與此對(duì)象“相等”。
protected  void finalize()
          當(dāng)垃圾回收器確定不存在對(duì)該對(duì)象的更多引用時(shí),由對(duì)象的垃圾回收器調(diào)用此方法。
 int hashCode()
          返回該對(duì)象的哈希碼值,哈希map中用到,具體可以查看數(shù)據(jù)結(jié)構(gòu)。
 String toString()
          返回該對(duì)象的字符串表示。

3. toString()

默認(rèn)返回 類名@地址 的格式,來展示對(duì)象的地址值,如:a00000.Student@a0224e7。

如果想看屬性值我們可以重寫這個(gè)方法,重寫后返回的就是把屬性值拼接成一個(gè)字符串。

如:Student [name=大強(qiáng), age=20, id=10001]

//測(cè)試Object用法
public class TestObject {
    public static void main(String[] args) {
       //創(chuàng)建對(duì)象測(cè)試
       Person p = new Person("熊大",20,10,"森林");
       System.out.println(p);//要是不重寫toString()就是使用的Object提供的默認(rèn)方式只能打印對(duì)象在內(nèi)存的地址
       System.out.println(p);//由于重寫了toString()所以打印的是屬性的值
    }
}
//定義類,提供屬性
class  Person{
    //構(gòu)造:source-generate constrctor using fileds
    public Person() {}
    public Person(String name, int age, double salary, String addr) {
       this.name = name;
       this.age = age;
       this.salary = salary;
       this.addr = addr;
    }
    //屬性
    private String name;
    private int age;
    private double salary;
    private String addr;
    //set() get()
    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 double getSalary() {
       return salary;
    }
    public void setSalary(double salary) {
       this.salary = salary;
    }
    public String getAddr() {
       return addr;
    }
    public void setAddr(String addr) {
       this.addr = addr;
    }
    //toString():source - generate toString()-ok
    @Override//重寫的是Object提供的toString()是為了查看屬性值
    public String toString() {
       return "Person [name=" + name + ", age=" + age + ", salary=" + salary + ", addr=" + addr + "]";
    }
}

4. equals(Object obj)

當(dāng)前對(duì)象和參數(shù)對(duì)象比較大小,默認(rèn)是比較內(nèi)存地址,如果要比較對(duì)象的屬性,可以重寫該方法。

public class TestArea {
    public static void main(String[] args) {
       //基礎(chǔ)類型是按值比較
       int i1 = 10;
       int i2 = 10;
       int i3 = 12;
       System.out.println(i1==i2);//true
       System.out.println(i1==i3); //false
       //對(duì)象為引用類型,引用類型按內(nèi)存地址比較
       //如果不想比較地址,可以重寫equals方法
       Tiger t1 = new Tiger();
       Tiger t2 = new Tiger();
       Tiger t3 = t1;
       System.out.println(t1);
       System.out.println(t2);
       System.out.println(t3);
       System.out.println(t1.equals(t2));//false
       System.out.println(t1 == t2);//false
       System.out.println(t1.equals(t3));//true
       System.out.println(t1 == t3);//true
    }
}

5. hashCode()

返回該對(duì)象的哈希碼值。默認(rèn)為對(duì)象的內(nèi)存地址,可根據(jù)需要重寫

//測(cè)試equals()  ==
public class TestObject {
   public static void main(String[] args) {
       //1,==比較八大基本類型時(shí):判斷的是值
       int a = 1;
       int b = 1;
       System.out.println(a==b);//true
       //2,==比較對(duì)象時(shí),比較的是對(duì)象的地址值
       Integer x = 5;
       Integer y = 10;
       Integer z = x;//把x的地址賦值給了z
       System.out.println(x==y);//false
       System.out.println(x==z);//true      
       //3,equals()用來比較對(duì)象存著的值
       System.out.println(x.equals(z));//true
       //4,測(cè)試hashCode()哈希值
       System.out.println(x.hashCode());//5
       System.out.println(y.hashCode());//10
       System.out.println(z.hashCode());//5
   }
}
//測(cè)試equals()  ==
public class TestObject {
   public static void main(String[] args) {
       //1,==比較八大基本類型時(shí):判斷的是值
       int a = 1;
       int b = 1;
       System.out.println(a==b);//true
       //2,==比較對(duì)象時(shí),比較的是對(duì)象的地址值
       Integer x = 5;
       Integer y = 10;
       Integer z = x;//把x的地址賦值給了z
       System.out.println(x==y);//false
       System.out.println(x==z);//true      
       //3,equals()用來比較對(duì)象存著的值
       System.out.println(x.equals(z));//true
       //4,測(cè)試hashCode()哈希值
       System.out.println(x.hashCode());//5
       System.out.println(y.hashCode());//10
       System.out.println(z.hashCode());//5
   }
}

到此這篇關(guān)于JAVA中Object的使用的文章就介紹到這了,更多相關(guān)java object使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 值得收藏的2017年Java開發(fā)崗位面試題

    值得收藏的2017年Java開發(fā)崗位面試題

    這篇文章主要為大家推薦一份值得收藏的2017年Java開發(fā)崗位面試題,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • 解讀@RabbitListener起作用的原理

    解讀@RabbitListener起作用的原理

    這篇文章主要介紹了解讀@RabbitListener起作用的原理,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • maven私服搭建與使用教程

    maven私服搭建與使用教程

    在使用maven進(jìn)行Java項(xiàng)目的開發(fā)過程中,難免會(huì)有些公共的私有庫,這些庫是不太方便放到中央倉庫的,可以通過Nexus搭建一個(gè)私有倉庫,這篇文章主要介紹了maven私服搭建與使用,需要的朋友可以參考下
    2023-03-03
  • Java Calendar類的使用總結(jié)實(shí)例

    Java Calendar類的使用總結(jié)實(shí)例

    這篇文章主要介紹了Java Calendar類的使用總結(jié)實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • springboot2 jackson實(shí)現(xiàn)動(dòng)態(tài)返回類字段方式

    springboot2 jackson實(shí)現(xiàn)動(dòng)態(tài)返回類字段方式

    這篇文章主要介紹了springboot2 jackson實(shí)現(xiàn)動(dòng)態(tài)返回類字段方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Lombok中關(guān)于@Data的使用解析

    Lombok中關(guān)于@Data的使用解析

    這篇文章主要介紹了Lombok中關(guān)于@Data的使用解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • java+socket實(shí)現(xiàn)簡易局域網(wǎng)聊天室

    java+socket實(shí)現(xiàn)簡易局域網(wǎng)聊天室

    這篇文章主要為大家詳細(xì)介紹了java+socket實(shí)現(xiàn)簡易局域網(wǎng)聊天室,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Java基礎(chǔ)之多線程方法狀態(tài)和創(chuàng)建方法

    Java基礎(chǔ)之多線程方法狀態(tài)和創(chuàng)建方法

    Java中可以通過Thread類和Runnable接口來創(chuàng)建多個(gè)線程,下面這篇文章主要給大家介紹了關(guān)于Java基礎(chǔ)之多線程方法狀態(tài)和創(chuàng)建方法的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • java中jdk的下載和安裝全過程

    java中jdk的下載和安裝全過程

    這篇文章主要給大家介紹了關(guān)于java中jdk的下載和安裝的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Java SPEL表達(dá)式注入漏洞原理解析

    Java SPEL表達(dá)式注入漏洞原理解析

    SpEL簡稱Spring表達(dá)式語言,在Spring 3中引入,SpEL能在運(yùn)行時(shí)構(gòu)建復(fù)雜表達(dá)式、存取對(duì)象圖屬性、對(duì)象方法調(diào)用等等,可以與基于XML和基于注解的Spring配置還有bean定義一起使用,本文給大家介紹Java SPEL表達(dá)式注入漏洞原理研究,感興趣的朋友一起看看吧
    2023-10-10

最新評(píng)論

孟村| 潜山县| 琼中| 漠河县| 太谷县| 锦屏县| 南京市| 荔波县| 且末县| 惠水县| 弥渡县| 泸州市| 木里| 安平县| 铜山县| 丰城市| 郴州市| 尉氏县| 龙山县| 长沙市| 东乡县| 仙居县| 乌兰浩特市| 区。| 红安县| 鹤壁市| 临武县| 泉州市| 文登市| 慈溪市| 洮南市| 清涧县| 沾益县| 江永县| 枣强县| 巴中市| 宿州市| 军事| 华蓥市| 正蓝旗| 剑河县|