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

java中object類實(shí)例分析

 更新時(shí)間:2017年12月14日 09:44:02   作者:靜夜思鄉(xiāng)  
這篇文章主要介紹了java中object類實(shí)例分析,具有一定借鑒價(jià)值,需要的朋友可以參考下。

問(wèn):什么是Object類?

答:Object類存儲(chǔ)在java.lang包中,是所有java類(Object類除外)的終極父類。當(dāng)然,數(shù)組也繼承了Object類。然而,接口是不繼承Object類的,Object類不作為接口的父類。

下面,我們就通過(guò)實(shí)例,對(duì)object進(jìn)行分析

public class ObjectStu {
	/*Object類:java里所有類的父類,頂層的類
 *equals:判斷兩個(gè)對(duì)象是否"相等";
 *hashcode:返回一個(gè)對(duì)象的哈希碼值,是一個(gè)整數(shù)
 *因?yàn)橹蟮娜萜?例如hashset和hashMap會(huì)對(duì)元素進(jìn)行去重的處理;所以equals和hashcode需要同時(shí)重寫;
 *重寫之后需要滿足的標(biāo)準(zhǔn):
 *當(dāng)equals的結(jié)果為true的時(shí)候,要求兩個(gè)對(duì)象的hashcode值相等;
 *當(dāng)equals的結(jié)果為false的時(shí)候,要求兩個(gè)對(duì)象的hashcode值不等;(hashcode可以相等,但是如果不等可以提升效率)
 *toString:返回對(duì)象的字符串表示
 *作用:方便程序內(nèi)查看對(duì)象屬性,方便調(diào)試代碼
 *debug學(xué)習(xí):
 *1.在可能出現(xiàn)bug的地方設(shè)置斷點(diǎn)
 *2.run as debug
 *3.f6,執(zhí)行當(dāng)前代碼;f5,進(jìn)入當(dāng)前本句代碼的方法內(nèi)部;f8,快速跳到下一個(gè)斷點(diǎn),如果沒(méi)有下一個(gè)斷點(diǎn),運(yùn)行余下所有代碼
 *equals:
 *1.一致性:使用對(duì)象A調(diào)用equals和對(duì)象b進(jìn)行比較,每一次的結(jié)果都應(yīng)該一樣
 *2.自反性:對(duì)象A調(diào)用equals比較對(duì)象b和對(duì)象b調(diào)用equals比較對(duì)象a的結(jié)果應(yīng)該一樣
 */
	public static void main(String[] args)
	 {
		Person per = new Person("小王",10,150);
		Person per1 = new Person("小王",20,140);
		Person per2 = per;
		System.out.println(per==per1);
		System.out.println(per.equals(per1));
		String str = "123";
		str.equals("123");
		str.hashCode();
		System.out.println(per.hashCode());
		System.out.println(per1.hashCode());
		System.out.println(per2.hashCode());
		System.out.println(per);
		System.out.println(per1);
	}
}
class Person {
	String name;
	int age;
	int height;
	public Person(String name, int age,int height)
	 {
		super();
		this.height = height;
		this.name = name;
		this.age = age;
	}
	/*@Override
 public boolean equals(Object obj)
 {
 if(this==obj){
  return true;
 }
 if(obj instanceof Person){
  Person per = (Person)obj;
  if(this.name.equals(per.name)&&this.age==per.age){
  return true;
  }
 }
 return false;
 }*/
	//重寫hashcode
	/*@Override
 public int hashCode(){
 return name.hashCode()+age*31+height*31;
 }*/
	@Override
	 public int hashCode()
	 {
		final int prime = 31;
		int result = 1;
		result = prime * result + age;
		result = prime * result + height;
		result = prime * result + ((name == null) ? 0 : name.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;
		Person other = (Person) obj;
		if (age != other.age)
		  return false;
		if (height != other.height)
		  return false;
		if (name == null)
		 {
			if (other.name != null)
			  return false;
		} else if (!name.equals(other.name))
		  return false;
		return true;
	}
	@Override
	 public String toString()
	 {
		return "Person[name="+name+",age="+age+"]";
	}
}

總結(jié)

以上就是本文關(guān)于java中object類實(shí)例分析的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:

java內(nèi)部測(cè)試類代碼詳解

java中繼承測(cè)試代碼分析

java中stack(棧)的使用代碼實(shí)例

如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

相關(guān)文章

  • java版微信公眾平臺(tái)后臺(tái)接入

    java版微信公眾平臺(tái)后臺(tái)接入

    這篇文章主要為大家詳細(xì)介紹了java版微信公眾平臺(tái)后臺(tái)接入,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • 基于springEL表達(dá)式詳解及應(yīng)用

    基于springEL表達(dá)式詳解及應(yīng)用

    這篇文章主要介紹了springEL表達(dá)式詳解及應(yīng)用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Spring中Bean的加載與SpringBoot的初始化流程詳解

    Spring中Bean的加載與SpringBoot的初始化流程詳解

    這篇文章主要介紹了Spring中Bean的加載與SpringBoot的初始化流程詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java移動(dòng)文件夾及其所有子文件與子文件夾

    Java移動(dòng)文件夾及其所有子文件與子文件夾

    這篇文章主要為大家詳細(xì)介紹了Java移動(dòng)文件夾及其所有子文件與子文件夾的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Presto自定義函數(shù)@SqlNullable引發(fā)問(wèn)題詳解

    Presto自定義函數(shù)@SqlNullable引發(fā)問(wèn)題詳解

    這篇文章主要為大家介紹了Presto自定義函數(shù)@SqlNullable引發(fā)問(wèn)題詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • java模擬TCP通信實(shí)現(xiàn)客戶端上傳文件到服務(wù)器端

    java模擬TCP通信實(shí)現(xiàn)客戶端上傳文件到服務(wù)器端

    這篇文章主要為大家詳細(xì)介紹了java模擬TCP通信實(shí)現(xiàn)客戶端上傳文件到服務(wù)器端,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • Java冒泡排序詳解(附有詳細(xì)代碼)

    Java冒泡排序詳解(附有詳細(xì)代碼)

    冒泡排序是一種簡(jiǎn)單的排序算法,通過(guò)相鄰元素的比較和交換來(lái)實(shí)現(xiàn),它雖然在效率上不如其他排序算法,但在某些特定場(chǎng)景下仍然有其應(yīng)用價(jià)值,這篇文章主要介紹了Java冒泡排序的相關(guān)資料,文中給出了詳細(xì)的代碼示例,需要的朋友可以參考下
    2025-04-04
  • 詳解Java數(shù)字簽名提供XML安全

    詳解Java數(shù)字簽名提供XML安全

    在本篇文章中我們給大家整理了關(guān)于Java數(shù)字簽名提供XML安全的知識(shí)點(diǎn)內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。
    2018-08-08
  • Java面試題解析之判斷以及防止SQL注入

    Java面試題解析之判斷以及防止SQL注入

    這篇文章主要介紹了Java面試題解析之判斷以及防止SQL注入,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • Java對(duì)象進(jìn)行深拷貝的五種方法實(shí)例代碼

    Java對(duì)象進(jìn)行深拷貝的五種方法實(shí)例代碼

    這篇文章主要介紹了Java對(duì)象進(jìn)行深拷貝的五種方法,分別是構(gòu)造函數(shù)、重載clone()方法、Apache?Commons?Lang序列化、Gson序列化和Jackson序列化,每種方法都給出了實(shí)例代碼,需要的朋友可以參考下
    2025-04-04

最新評(píng)論

井研县| 赤水市| 迁安市| 昔阳县| 广元市| 屯门区| 临桂县| 宜宾市| 黑河市| 桃园市| 定州市| 房产| 正蓝旗| 和林格尔县| 从化市| 清河县| 阳山县| 山东省| 贵港市| 柳林县| 航空| 瓮安县| 卢湾区| 辽阳县| 长泰县| 芦溪县| 买车| 海林市| 岳阳县| 登封市| 平南县| 乐安县| 北海市| 儋州市| 洪江市| 九江市| 普格县| 东乡族自治县| 宾阳县| 兰西县| 磐石市|