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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

java画板抽象类_java 中的 抽象方法 抽象类 和 接口有啥瓜葛

發布時間:2024/4/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java画板抽象类_java 中的 抽象方法 抽象类 和 接口有啥瓜葛 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

什么是java中的抽象方法

抽象方法是一種特殊的方法:

它只有聲明,而沒有具體的實現

例如:

abstract void eat();

上面定義了一個方法 eat() ,有修飾關鍵詞 abstract ,而且只有方法簽名,沒有方法的具體實現,

這就是一個java中的 抽象方法.

我們可以看到關鍵詞 abstract 前面再沒有任何修飾關鍵詞 [ public , protected 或者 private ]

為什么不能有修飾關鍵詞,我們留到下面再講.

什么是java中的抽象類

一個類含有抽象方法,則稱這個類為抽象類

抽象類必須由關鍵詞 abstract 修飾;

我們來看一個抽象類的示例:

abstract class Person{

abstract void eat();

}

包含抽象方法 eat() ,并且類前面有關鍵詞 abstract 修飾,所以上面的類就是一個抽象類.

這里可能有疑問,抽象類必須要包含抽象方法嗎?如果沒有抽象方法呢?

abstract class Person{

}

這也是一個抽象方法,但是這種空的抽象類有什么意義呢?

因為抽象方法只是一個方法簽名,沒有具體方法實現,所以這種抽象類必須由子類繼承才有存在的意義,不能直接創建類的實例;

因為繼承,其中的抽象方法會被子類重寫;

所以沒有實現繼承的抽象類是沒有意義的,沒有定義任何抽象方法的抽象類更沒有意義.

因為抽象類必須要實現繼承,所以類前面缺省的訪問修飾符默認 public 不能是 private ,可以不寫直接省略(缺省 public)

什么是java 中的接口

接口是一種特殊的抽象類;

接口中沒有變量,只有public static final修飾的靜態常量,三個修飾符可以省略;

接口中所有的方法都是抽象方法,且默認就是public權限;

java中使用 interface 來聲明接口:

interface Person{

void eat();

String getName();

}

接口中的方法全部只有定義而沒有被實現;

所有方法默認都是 public abstract 的.

一個類使用 implements 關鍵詞來實現接口

class Child implements Person{

private String name;

public Child(String name){

this.name = name;

}

@Override

public void eat(){

System.out.println(this.name + " 用勺子吃飯");

}

@Override

public String getName(){

return this.name;

}

}

類和接口的繼承

Java類的繼承是單一繼承,一個類只能繼承一個父類;

Java類卻可以實現多個接口;

為什么不能繼承多個父類?

假如多個父類同時存在簽名相同的方法,那多繼承后,子類到底該實現哪一個父類的同名方法呢?

為什么可以實現多個接口?

接口中全都是抽象方法,只有簽名沒有方法實現,所以就算有同名的抽象方法,子類重寫該方法,實現自己的方法內容即可,完全不受影響.

總結

以上是生活随笔為你收集整理的java画板抽象类_java 中的 抽象方法 抽象类 和 接口有啥瓜葛的全部內容,希望文章能夠幫你解決所遇到的問題。

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