1. 程式人生 > >多態、Object類和 JDK常用封裝類型

多態、Object類和 JDK常用封裝類型

事物 引用 null static 包裝 變化 end number demo

多態

定義:某一類事物的多種存在形態。

多態的體現:父類的引用指向了自己的子類對象。父類的引用也可以接收自己的子類對象。

多態的前提:必須是類與類之間有關系,要麽繼承,要麽實現。通常還有一個前提,存在覆蓋。

多態的好處:多態的出現提高了程序的擴展性。

多態的弊端:只能使用父類的引用訪問父類中的成員。

轉型:

public class Animal {

public void eat(){

System.out.println();

}

}

public class Cat extends Animal{

public void eat(){

System.out.println("貓吃魚");

}

public void mouse(){

System.out.println("貓捉老鼠");

}

}

public static void main(String[] args) {

Animal c =new Cat();//向上轉型

Cat cat=(Cat)c;// 向下轉型,強轉//不能把父類對象轉換為子類類型。能轉換的是父類應用指向了自己的子類對象時,該應用可以被提升,也可以被強制轉換。多態自始至終都是子類對象做著變化。

cat.mouse();

eat(c);

}

public static void eat(Animal a){

a.eat();

}

}

多態成員                       

多態成員函數的特點:在編譯時期:參閱引用型變量所屬的類中是否有調用的方法,如果有,編譯通過,沒有,編譯失敗。在運行時期:參閱對象所屬的類中是否有調用的方法。
總結:成員函數在多態調用時,編譯看左邊,運行看右邊。
成員變量的特點:無論編譯與運行,都參考的左邊。

靜態成員函數的特點:編譯和運行,都參考左邊。

 

Object類

它是所有對象的間接父類;該類中定義的所有對象都具備的功能。無參構造:object()
equals()方法:java認為所有的對象都具備比較性,都能比較大小。

String str="328";


String str1="123";


System.out.println(str);[email protected]

/* */


System.out.println(str1);[email protected]


System.out.println(str.equals(str1));//地址完全相同則為true,反之flase equals(x==y返回true)

JDK常用封裝類型
Scanner類
可以通過Scanner類來獲取用戶的輸入。
初始化一個scanner對象Scanner scanner=new Scanner(System.in);
//獲取字符串String s=scanner.next();
//判斷語法boolean b=scanner.nextBoolean();//next後面的數據類型首字母大寫。
//關閉輸入對象scanner.close();

Java Number類
number數據類型:byte、integer、long、double、float、short。

//while(true){
String str=JOptionpane.ShowInputDialog("1111")////避免死循環
system.out.println();
}
String str=scan.nextlinr();// 可以輸入空格隔開的兩段字符

Integer in=new Integer("123556");//可以轉化為數字類型的字符串。
Integer與int區別:
Integer默認值為空(null),包裝類;
int默認值為0,是基本數據類型;





多態、Object類和 JDK常用封裝類型