亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JAVA 繼承基本類(lèi)、抽象類(lèi)、接口介紹

 更新時(shí)間:2013年01月21日 10:43:58   作者:  
Java是一個(gè)面向?qū)ο蟮恼Z(yǔ)言,java面向?qū)ο笠话阌腥筇卣鳎悍庋b、繼承、多態(tài)
封裝:就是把一些屬性和方法封裝到一個(gè)類(lèi)里。
繼承:就如子類(lèi)繼承父類(lèi)的一些屬性和方法。
多態(tài):就如一個(gè)父類(lèi)有多個(gè)不同特色的子類(lèi)。
這里我就不多講解,下面我主要說(shuō)明一個(gè)繼承。繼承是OOP(面向?qū)ο螅┑囊粋€(gè)特色,java只支持單繼承(如果繼承兩個(gè)有同樣方法的父類(lèi),那么就不知道繼承到那個(gè)父類(lèi)的,所以java只支持單繼承)。繼承是java的一個(gè)特色,我們用的所以類(lèi)都繼承Objict類(lèi),所以就要Object類(lèi)的方法,如toString()、getClass()、wait()……所以我們建立的類(lèi)都有父類(lèi)。

Java中一般有三種類(lèi):

基本類(lèi):也就是一般的類(lèi)(一般所說(shuō)的類(lèi)就是基本類(lèi)),是對(duì)象的模板,是屬性和方法的集合。可以繼承其他基本類(lèi)、抽象類(lèi)、實(shí)現(xiàn)接口。
抽象類(lèi):有抽象方法的類(lèi)(抽象方法就是該方法必須由繼承來(lái)實(shí)現(xiàn),本身只定義,不實(shí)現(xiàn))。抽象類(lèi)可以有一個(gè)或多個(gè)抽象方法,他是基本類(lèi)和接口類(lèi)的過(guò)度。
接口類(lèi):一般叫做接口,該類(lèi)中的所有方法都是抽象方法,該類(lèi)的方法本身只定義不實(shí)現(xiàn)。
抽象類(lèi)和接口一個(gè)由【abstract class + 抽象類(lèi)名】一個(gè)由【interface +接口名】定義,接口中的所以方法都是抽象方法,而抽象類(lèi)有部分方法是自身實(shí)現(xiàn)了的,一些只定義不實(shí)現(xiàn)。

基本類(lèi)的定義:

復(fù)制代碼 代碼如下:

public class Fruit {
public void price() {
System.out.println("水果價(jià)格");
}
public void weight() {
System.out.println("水果重量");
}
}

抽象類(lèi)的定義:
復(fù)制代碼 代碼如下:

public abstract class Fruit {
public void price() {
System.out.println("水果價(jià)格");
}
public abstract void weight();
}

接口類(lèi)的定義:
復(fù)制代碼 代碼如下:

public interface Fruit {
public void price();
public void weight() ;
}

從上面我們可以看出接口就是抽象類(lèi)的升級(jí)版,由于該類(lèi)的方法全是抽象方法,所以把a(bǔ)bstract換成interface。而接口的方法必須由子類(lèi)才能實(shí)現(xiàn)。
繼承

繼承基本類(lèi),可以繼承父類(lèi)的方法,也可以從些,也可以擴(kuò)充。下面是實(shí)現(xiàn)接口基本類(lèi)的類(lèi):
復(fù)制代碼 代碼如下:

public class Apple extends Fruit {

}

該類(lèi)中就有Fruit基本類(lèi)中的兩個(gè)方法:price()和weight();

繼承抽象類(lèi),必須實(shí)現(xiàn)抽象類(lèi)的抽象方法,可以修改父類(lèi)的方法,和添加方法。下面是繼承抽象類(lèi)的類(lèi):
復(fù)制代碼 代碼如下:

public class Apple extends Fruit {
@Override
public void weight() {
System.out.println("水果重量");
}
}

該類(lèi)繼承類(lèi)Fruit的price()方法,同時(shí)實(shí)現(xiàn)了Fruit抽象類(lèi)的weight()方法。
繼承接口類(lèi)(也就實(shí)現(xiàn)接口),必須實(shí)現(xiàn)接口類(lèi)的所有的抽象類(lèi)和添加了。下面是繼承接口的類(lèi):

復(fù)制代碼 代碼如下:

public class Aple implements Fruit {
@Override
public void price() {
System.out.println("水果價(jià)格");
}
@Override
public void weight() {
System.out.println("水果重量");
}
}


該類(lèi)是實(shí)現(xiàn)Fruit接口的所以抽象方法。

Java只支持單繼承(繼承基本類(lèi)和抽象類(lèi)),但是我們可以用接口來(lái)實(shí)現(xiàn)(多繼承接口來(lái)實(shí)現(xiàn))
如:public class Apple extends Fruit implements Fruit1, Fruit2{}
一般我們繼承基本類(lèi)和抽象類(lèi)用extends關(guān)鍵字,實(shí)現(xiàn)接口類(lèi)的繼承用implements關(guān)鍵字。其實(shí)繼承是很簡(jiǎn)單的,可以就是沒(méi)有弄清這兩個(gè)關(guān)鍵字,當(dāng)我們弄清楚也就是比較簡(jiǎn)單的。

接口也可以繼承接口如:public interface Fruit1 extends Fruit {}這是接口中的多重繼承,同理抽象類(lèi)和基本類(lèi)也同理。如果我們把基本類(lèi)添加final修飾,也就定義該類(lèi)不被繼承,該類(lèi)不能作為父類(lèi)。同時(shí)基本類(lèi)的方法可以用public 、private、proptected來(lái)修飾方法,用final來(lái)阻止繼承該方法。

這里只是自己的理解,有些地方時(shí)用詞不當(dāng)?shù)?,只是覺(jué)得這樣用詞更好的理解,請(qǐng)大家諒解。有些地方由于不是這里的重點(diǎn),沒(méi)有講清楚,希望大家通過(guò)其他方式了解。

相關(guān)文章

  • Spring框架的JdbcTemplate使用

    Spring框架的JdbcTemplate使用

    它是 Spring 框架中提供的一個(gè)對(duì)象,是對(duì)原始 Jdbc API 對(duì)象的簡(jiǎn)單封裝。本文就來(lái)介紹一下Spring框架的JdbcTemplate使用,感興趣的可以了解一下
    2021-09-09
  • Java使用定時(shí)器編寫(xiě)一個(gè)簡(jiǎn)單的搶紅包小游戲

    Java使用定時(shí)器編寫(xiě)一個(gè)簡(jiǎn)單的搶紅包小游戲

    這篇文章主要為大家介紹了Java如何使用定時(shí)器編寫(xiě)一個(gè)簡(jiǎn)單的搶紅包小游戲,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以嘗試一下
    2022-07-07
  • SpringBoot application.yml和bootstrap.yml的區(qū)別

    SpringBoot application.yml和bootstrap.yml的區(qū)別

    本文主要介紹了SpringBoot application.yml和bootstrap.yml的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • 遞歸之斐波那契數(shù)列java的3種方法

    遞歸之斐波那契數(shù)列java的3種方法

    這篇文章主要為大家詳細(xì)介紹了遞歸之斐波那契數(shù)列java的3種方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • 淺談多線(xiàn)程_讓程序更高效的運(yùn)行

    淺談多線(xiàn)程_讓程序更高效的運(yùn)行

    下面小編就為大家?guī)?lái)一篇淺談多線(xiàn)程_讓程序更高效的運(yùn)行。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • Java使用策略模式實(shí)現(xiàn)聚石塔接口調(diào)用的問(wèn)題

    Java使用策略模式實(shí)現(xiàn)聚石塔接口調(diào)用的問(wèn)題

    這篇文章主要介紹了Java使用策略模式實(shí)現(xiàn)聚石塔接口調(diào)用,為了避免多重判斷,而且有更好的擴(kuò)展性,首選了策略模式來(lái)實(shí)現(xiàn),具體解決方法跟隨小編一起看看吧
    2021-12-12
  • MybatisPlus?QueryWrapper常用方法實(shí)例

    MybatisPlus?QueryWrapper常用方法實(shí)例

    MyBatis-Plus(opens new window)是一個(gè)MyBatis(opens new window)的增強(qiáng)工具,在 MyBatis的基礎(chǔ)上只做增強(qiáng)不做改變,為簡(jiǎn)化開(kāi)發(fā)、提高效率而生,下面這篇文章主要給大家介紹了關(guān)于MybatisPlus?QueryWrapper常用方法的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • Spring boot中使用ElasticSearch的方法詳解

    Spring boot中使用ElasticSearch的方法詳解

    這篇文章主要給大家介紹了關(guān)于Spring boot中使用ElasticSearch的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • Java版微信公眾號(hào)支付開(kāi)發(fā)全過(guò)程

    Java版微信公眾號(hào)支付開(kāi)發(fā)全過(guò)程

    這篇文章主要介紹了Java版微信公眾號(hào)支付開(kāi)發(fā)全過(guò)程,本文通過(guò)實(shí)例相結(jié)合給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-07-07
  • 基于ThreadPoolTaskExecutor的使用說(shuō)明

    基于ThreadPoolTaskExecutor的使用說(shuō)明

    這篇文章主要介紹了基于ThreadPoolTaskExecutor的使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11

最新評(píng)論