欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java中object類實例分析

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

問:什么是Object類?

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

下面,我們就通過實例,對object進行分析

public class ObjectStu {
	/*Object類:java里所有類的父類,頂層的類
 *equals:判斷兩個對象是否"相等";
 *hashcode:返回一個對象的哈希碼值,是一個整數(shù)
 *因為之后的容器,例如hashset和hashMap會對元素進行去重的處理;所以equals和hashcode需要同時重寫;
 *重寫之后需要滿足的標準:
 *當equals的結果為true的時候,要求兩個對象的hashcode值相等;
 *當equals的結果為false的時候,要求兩個對象的hashcode值不等;(hashcode可以相等,但是如果不等可以提升效率)
 *toString:返回對象的字符串表示
 *作用:方便程序內(nèi)查看對象屬性,方便調(diào)試代碼
 *debug學習:
 *1.在可能出現(xiàn)bug的地方設置斷點
 *2.run as debug
 *3.f6,執(zhí)行當前代碼;f5,進入當前本句代碼的方法內(nèi)部;f8,快速跳到下一個斷點,如果沒有下一個斷點,運行余下所有代碼
 *equals:
 *1.一致性:使用對象A調(diào)用equals和對象b進行比較,每一次的結果都應該一樣
 *2.自反性:對象A調(diào)用equals比較對象b和對象b調(diào)用equals比較對象a的結果應該一樣
 */
	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+"]";
	}
}

總結

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

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

java中繼承測試代碼分析

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

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

相關文章

  • struts1之簡單mvc示例_動力節(jié)點Java學院整理

    struts1之簡單mvc示例_動力節(jié)點Java學院整理

    這篇文章主要介紹了struts1之簡單mvc示例的相關資料,需要的朋友可以參考下
    2017-09-09
  • Java配置DBeaver的詳細步驟

    Java配置DBeaver的詳細步驟

    DBeaver是一個集成的數(shù)據(jù)庫客戶端工具,需要java語言支持,所以安裝之前需要配置JDK環(huán)境,這篇文章主要介紹了Java配置DBeaver的詳細步驟,需要的朋友可以參考下
    2021-03-03
  • Java中在時間戳計算的過程中遇到的數(shù)據(jù)溢出問題解決

    Java中在時間戳計算的過程中遇到的數(shù)據(jù)溢出問題解決

    這篇文章主要介紹了Java中在時間戳計算的過程中遇到的數(shù)據(jù)溢出問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06
  • Java打包Jar包后使用腳本執(zhí)行

    Java打包Jar包后使用腳本執(zhí)行

    本文詳細講解了Java打包Jar包后使用腳本執(zhí)行的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • SpringBoot實現(xiàn)快遞物流查詢功能(快遞鳥)

    SpringBoot實現(xiàn)快遞物流查詢功能(快遞鳥)

    本文將基于springboot2.4.0實現(xiàn)快遞物流查詢,物流信息的獲取通過快遞鳥第三方實現(xiàn),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-10-10
  • 如何通過Java監(jiān)聽MySQL數(shù)據(jù)的變化

    如何通過Java監(jiān)聽MySQL數(shù)據(jù)的變化

    對于二次開發(fā)來說,很大一部分就找找文件和找數(shù)據(jù)庫的變化情況,下面這篇文章主要給大家介紹了關于如何通過Java監(jiān)聽MySQL數(shù)據(jù)的變化的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-03-03
  • 根據(jù)ID填充文本框的實例代碼

    根據(jù)ID填充文本框的實例代碼

    這篇文章介紹了根據(jù)ID填充文本框的小例子,有需要的朋友可以參考一下
    2013-07-07
  • java中equals和等號(==)的區(qū)別淺談

    java中equals和等號(==)的區(qū)別淺談

    java中equals和等號(==)的區(qū)別淺談,需要的朋友可以參考一下
    2013-05-05
  • Java創(chuàng)建線程的兩種方式

    Java創(chuàng)建線程的兩種方式

    這篇文章主要介紹了Java創(chuàng)建線程的兩種方式,針對Java創(chuàng)建線程的兩種方式進行比較,感興趣的小伙伴們可以參考一下
    2016-10-10
  • Java springboot 整合 Nacos的實例代碼

    Java springboot 整合 Nacos的實例代碼

    這篇文章主要介紹了Java springboot 整合 Nacos的實例,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04

最新評論