91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Object類、Equals方法、toString方法、包裝類和Junit怎么用

發布時間:2022-10-25 14:04:08 來源:億速云 閱讀:141 作者:iii 欄目:編程語言

本篇內容主要講解“Object類、Equals方法、toString方法、包裝類和Junit怎么用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Object類、Equals方法、toString方法、包裝類和Junit怎么用”吧!

java.lang,Object類
1.Object類是所有java類的根父類
2.如果在類的聲明中未使用extends關鍵字指明其父類,則默認父類為 java.lang.Object類
Object中的功能(屬性、方法)就具有通用性;
4.Object類只聲明一個空參構造器

Equals:

面試題: == 和 equals()的區別
          ==:運算符,可以使用基本數據類型變量和引用數據變量中;
                    如果比較的是基本數據變量,比較兩個變量報錯的數據是否相等(不一定類型要相同);
                    如果比較的是引用數據類型變量,比較的是地址值,即兩個引用是否指向同一個對象實體;
          equals:
                  是方法;而非運算符,通過對象來調用;
                  object類中對equals()的定義 與 “==” 作用是相同的;比較兩個對象的地址值是否相同,即啷個引用是否指向同一個實體;
              像String ,Date File 包裝類等都重寫了Object類中的equals()方法,重寫以后,比較的不是兩個引用的地址值是否相同,
              而是比較兩個對象的“實體內容”。
          通常情況下,我們自定義的類如果使用equals()的話,也通常比較兩個對象的“實體內容”是否相同,那么我們就需要對Object類中的
          equals()進行重寫;

以下手動重寫equals方法:

10 class Person1{
11     private String name;
12     private int age;
13     public String getName() {
14         return name;
15     }
16     public void setName(String name) {
17         this.name = name;
18     }
19     public int getAge() {
20         return age;
21     }
22     public void setAge(int age) {
23         this.age = age;
24     }
25     
26     public void eat() {
27         System.out.println("人吃飯。。。。");
28         study();
29     }
30     
31     public void study() {
32         System.out.println("學習。。。");
33     }
34     public Person1(String name, int age) {
35         //super();
36         this(age);
37         this.name = name;
38         //this.age = age; //等同于 this("Tome");
39     }
40     public Person1() {
41         super();
42     }
43     public Person1(String name) {
44         this();//調用當前的空參構造器
45         //super();
46         this.name = name;
47         
48     }
49     public Person1(int age) {
50         //super();
51         this.age = age;
52     }
53 //    @Override //手寫部分
54 //    public boolean equals(Object obj) {
55 //        if(this == obj) {
56 //            return true;
57 //        }else if(obj instanceof Person1) {
58 //            Person1 p = (Person1)obj;
59 //            if(name.equals(p.name) && age == p.age) {
60 //                return true;
61 //            }else {
62 //                return false;
63 //            }
64 //        }else {
65 //            return false;
66 //        }
67 //    }
68     @Override
69     public int hashCode() {
70         final int prime = 31;
71         int result = 1;
72         result = primeresult + age;
73         result = primeresult + ((name == null) ? 0 : name.hashCode());
74         return result;
75     }
//代碼自動生成的equals
76     @Override
77     public boolean equals(Object obj) {
78         if (this == obj)
79             return true;
80         if (obj == null)
81             return false;
82         if (getClass() != obj.getClass())
83             return false;
84         Person1 other = (Person1) obj;
85         if (age != other.age)
86             return false;
87         if (name == null) {
88             if (other.name != null)
89                 return false;
90         } else if (!name.equals(other.name))
91             return false;
92         return true;
93     }
94     
95     
96
1     public static void main(String[] args) {
 2         int i = 10;
 3         int j = 10;
 4         double d = 10.0;
 5         char c = 10;
 6         System.out.println(i == j);//true
 7         System.out.println(i == d);//true
 8         System.out.println(c == i);//true
 9         
10         Person1 person1 = new Person1("Tom", 11);
11         Person1 person2 = new Person1("Tom", 11);
12         
13         
14         System.out.println(person1 == person2);//false
15         System.out.println(person1.equals(person2));//false重寫前,重寫后是true;
16

toString()方法:

Object類中tostring()的使用
1.當我們輸出一個對象的引用是,實際上調用的是當前對象的toString();
2.Object的定義:
         public String toString() {
            return getClass().getName() + "@" + Integer.toHexString(hashCode());
        }
    3. String Date File 包裝類等都重寫過toString()方法,使得在調用對象的實體時,返回“實體信息”;
    4.自定義類也可以重寫toString()方法,一般默認生成即可
    5.對象.toString();如果對象是null 則報錯 空指針異常;

Junit單元測試:

Java中的JUnite單元測試
  步驟:1.選中當前工程 右鍵選擇bulidpath   add libraries -- JUnite 5 - finish;
          2.創建Java類,進行單元測試;此類是public 此類提供公共的無參構造器
          3.此類中聲明單元測試方法:
              權限是public  沒有返回值  沒有形參;
              需要@Test注解,
              在單元測試類中導入 import org.junit.Test
          4.聲明好單元測試方法以后,就可以在方法體內測試相關代碼;
          5.寫完代碼以后,左鍵雙擊方法名,右鍵:run as  JUnite Test
  說明:
  1.如果執行結構沒有任何異常,綠條
  2.如果執行結果出現異常,紅條

包裝類:

包裝類的使用
  1.java提供了8種基本數據類型對應的包裝類,使得基本數據類型的變量具有類的特征;
  2.基本數據類型 包裝類 string 三者之間的轉換;

1 //基本數據類型 --》 包裝類:調用包裝類的構造器
 2     @Test 
 3     public void test1() {
 4         int num1 = 10;
 5         Integer in1 = new Integer(num1);
 6         System.out.println(in1.toString());
 7         Float f1 = new Float(12.3);
 8         Double d1 = new Double(12.3);
 9         Boolean b1 = new Boolean(true);
10         Boolean b2 = new Boolean("true");
11         Boolean b3 = new Boolean("true123");
12         System.out.println(b3);//false
13     }
14     //包裝類--》 基本數據類型 :調用包裝類的 xxxValue();
15     @Test 
16     public void test2() {
17         int num1 = 10;
18         Integer in1 = new Integer(num1);
19         int num2 = in1.intValue();
20         System.out.println(num2+1);
21         Float f1 = new Float(12.3);
22         float f2 = f1.floatValue();
23         System.out.println(f2);//false
24     }
25     //自動裝箱 與 自動拆箱
26     @Test 
27     public void test3() {;
28         int num = 10;
29         Integer in1 = num;//自動裝箱
30         int num1 = in1;//自動拆箱;
31         method(num);
32     }
33     //基本數據類型 包裝類 --》String; 調用String重載的valueOf(Xxx xxx);
34     @Test 
35     public void test4() {
36     //方式一
37         int num = 10;
38         String str = num+"";
39         //方式二
40         str = String.valueOf(num);
41         
42     }
43     // String--》基本數據類型 包裝類; 包裝類的parseXXX();
44     @Test 
45     public void test5() {
46         String str = "123";
47         //可能會出現 numberformate 異常
48         Integer in1 = Integer.parseInt(str);
49         String str1 = "true";
50         Boolean b1 = Boolean.parseBoolean(str1);
51         
52         
53     }
54     public void method(Object obj) {
55         System.out.println(obj);
56

到此,相信大家對“Object類、Equals方法、toString方法、包裝類和Junit怎么用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

台湾省| 四子王旗| 新化县| 临沭县| 新宁县| 平顶山市| 利津县| 阜宁县| 崇明县| 冕宁县| 临沭县| 米脂县| 开平市| 德令哈市| 舞阳县| 桂平市| 滦平县| 泗水县| 水城县| 静海县| 赤城县| 奉贤区| 靖安县| 洪泽县| 将乐县| 淳安县| 长汀县| 和政县| 竹溪县| 勃利县| 凉山| 乳源| 密云县| 沾益县| 江西省| 波密县| 涟源市| 岢岚县| 永平县| 宁河县| 鞍山市|