天天看點

java基礎知識學習——面向對象instanceof關鍵字、重寫方法、包裝類及final關鍵字的使用

一.知識點彙總:

1.instanceof關鍵字的使用:A instanceof B 判斷對象A是否是類B的執行個體,

如果是傳回true,否則傳回false.

2.調用子類特有的屬性和方法:使用強制類型轉換符,向下轉型

使用強制轉換的時候有可能出現異常.

3.equals()方法的使用

是一個方法而非"等于等于"運算符隻适用于引用資料類型object類中定義的equals方法 的定義方法和==符合的作用是相同的.

像String、Date、File、包裝類等都重寫了Object類中的equals方法.

4.toString()方法的使用

像String、Date、File、包裝類等都重寫了Object類中的toString()方法.

5.單元測試:建立java類進行單元測試此時的Java類要求(類是公共的、提供公共的無參構造器)此類中聲明單元測試方法;方法 的權限是public沒有傳回值沒有形參單元測試方法上需要聲明注解:@Test,并導入包.

代碼示例如下:

public class IntegerTest {
    public static void main(String[] args) {
        String s1="QQ";
        String s2="QQ";
        //傳回結果為true因為在常量池中,二者複用了是以位址值相同
        System.out.println(s1==s2);
        String s3=new String("QQ");
        //傳回結果為false因為位址值不相同
        System.out.println(s2==s3);
    }

}
class Order{
    private int orderId;
    private String orderName;

    @Override
    public String toString() {
        return "Order[orderName  "+orderName+",orderId[ "+orderId;
    }

    @Override//重寫equal方法方式一
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Order order = (Order) o;
        return orderId == order.orderId &&
                Objects.equals(orderName, order.orderName);
    }

/*    @Override//重寫equal方法方式二
    public boolean equals(Object obj) {
        if(this == obj){
            return true;
        }
        if(obj instanceof  Order){
            Order order=(Order)obj;
            return this.orderId==order.orderId &&
                    this.orderName.equals(order.orderName);
        }
        return false;
    }*/
}
           

二.知識點彙總

一.包裝類的使用:Java提供了8中基本資料類型對應的包裝類,使得基本資料類型的變量具有類的特征,基本資料類型、包裝類、String三者之間的轉換

包裝類和基本資料類型之間的自動裝箱和自動拆箱.

二.final關鍵字:

1.final可以用來修飾的結構:類、方法、、變量。

2.final用來修飾一個類:此類不能被其他類所繼承,比如:String類、System類、StringBuffer類。

3.final用來修飾一個方法:表明此方法不可以被重寫,比如:Object類中的getClass()方法。

4.final用來修飾一個變量:此時的變量稱為是一個常量,final修飾一個屬性:可以考慮指派的位置有:顯示初始化、代碼塊中初始化、構造器中初始化。

5.final修飾局部變量:尤其是使用final修飾形參時表明此形參是一個常量,當我們調用此方法時,給常量形參賦一個實參,一旦指派以後就隻能在方法體内使用此形參,但不能進行重新指派。

6.static final 用來修飾屬性:全局常量

代碼示例如下:

public class WrapperTest {
    public static void main(String[] args) {
        //基本資料類型、包裝類——》String類型
        int num=12;
        //方式一:連接配接運算
        String s1=num+"";
        //方式二:調用valueof()方法
        float f1=12.3f;
        String s2=String.valueOf(f1);
    //String資料類型——》基本資料類型、包裝類(調用Integer.parsexxx()方法)
        String s3="123";
        int num1=Integer.parseInt(s3);
        System.out.println(num1+2);
    }
}