日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

小白学JAVA,与你们感同身受,JAVA---day5:关于多态的理解和分析。鲁迅的一句话:总之岁月漫长,然而值得等待。

發布時間:2024/7/5 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小白学JAVA,与你们感同身受,JAVA---day5:关于多态的理解和分析。鲁迅的一句话:总之岁月漫长,然而值得等待。 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

魯迅的一句話:總之歲月漫長,然而值得等待。

至于是不是他說的,就看大家的了。

?

/*
多態:事物存在的多種形態。
多態的前提:
1.要有繼承關系。
2.要有方法的重寫。
3.要有父類引用指向子類對象。


向上轉型和向下轉型:
1.父類引用指向子類對象 ? ?向上轉型。由小變大
2.向下轉型。由大變小,要用到強制類型轉換。
3.一定要先有向上轉型再有向下轉型。

多態的好處和弊端:
好處:
1.提高了代碼的可維護性(繼承保證)和擴展性(多態保證)。
弊端:不能使用子類特有的屬性和行為。

作為參數時,用到instanceof關鍵字來判斷前邊的引用是否是后面的數據類型。?? ? ?


抽象類:abstract關鍵字
abstract class{}
public abstract void eat();
抽象類中不一定有抽象方法,有抽象方法的類一定是抽象類或接口。
抽象類是不能實例化的,要有具體的子類實例化按照多態的方式。


抽象類:
1.成員變量:既可以是變量,也可以是常量。abstract不能修飾成員變量。
2.成員方法:可以是抽象,也可以是非抽象。
3.構造方法:有。
成員方法的特點:
抽象方法是強制子類要做的方法。
非抽象方法是子類繼承的,提高了代碼的復用性。?? ?


?*/

abstract class Animal{
?? ?public abstract void eat();
}
class Cat extends Animal{
?? ?
?? ?public void eat(){
?? ??? ?System.out.println("吃飯");
?? ?}
}

class day5{
?? ?public static void main(String[] args) {
?? ??? ?/*
?? ??? ?Father f=new Son(); ? ? ? ? ? ? ?//父類引用指向子類對象 ? ?向上轉型。由小變大
?? ??? ?
?? ??? ?System.out.println(f.num); ? ? ? //對于成員變量,編譯看左邊(父類),運行看左邊(父類)。
?? ??? ?f.print();?? ??? ??? ??? ? ? ? ? ? //對于成員方法,編譯看左邊(父類),運行看右邊(子類)。 ? 動態綁定。 ?
?? ??? ?f.aim(); ? ? ? ? ? ? ? ? ? ? ? ? //對于靜態方法,編譯看左邊(父類),運行看左邊(父類)。?? ??? ?
?? ??? ?System.out.println(new Son().num);*/
?? ??? ?/*
?? ??? ?Son s=(Son)f; ??? ??? ? ? ? ? ? ? ?//向下轉型。由大變小,要用到強制類型轉換。
?? ??? ?s.print(); ? ? ? ? ? ? ? ? ? ? ?
?? ??? ?Animal a=new Cat();
?? ??? ?a.eat();
? ? ? ?
?? ??? ?if(a instanceof Cat){
?? ??? ??? ?Dog c=(Dog)a;?? ??? ??? ??? ??? ?//ClassCastException: Cat cannot be cast to Dog ?
?? ??? ??? ?c.eat();
?? ??? ?} ? ? ? ? ??
?? ??? ?else a.eat(); ?*/
?? ??? ?Cat c=new Cat();
?? ??? ?c.eat();
?? ?}
}
/*
class Animal{
?? ?public void eat(){
?? ??? ?System.out.println("動物吃飯");
?? ?}
}
class Cat extends Animal{
?? ?public void eat(){
?? ??? ?System.out.println("貓吃魚");
?? ?}
}
class Dog extends Animal{
?? ?public void eat(){
?? ??? ?System.out.println("狗吃水");
?? ?}
}
class Father{
?? ?int num =10;
?? ?public void print(){
?? ??? ?System.out.println("父類");
?? ?}
?? ??? ?static void aim(){
?? ??? ?System.out.println("父類靜態運行");
?? ?}
}
class Son extends Father{
?? ?int num=20;
?? ?public void print(){
?? ??? ?System.out.println("子類");
?? ?}
?? ??? ?static void aim(){
?? ??? ?System.out.println("子類靜態運行");
?? ?}
}*/

總結

以上是生活随笔為你收集整理的小白学JAVA,与你们感同身受,JAVA---day5:关于多态的理解和分析。鲁迅的一句话:总之岁月漫长,然而值得等待。的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。