欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中的繼承與接口解讀

 更新時(shí)間:2024年02月06日 10:26:12   作者:自然哲學(xué)  
這篇文章主要介紹了Java中的繼承與接口使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

繼承的定義

子類繼承父類的屬性和行為(方法),使得子類對(duì)象可以使用父類中的方法與屬性。

在 Java 中通過 extends 關(guān)鍵字可以申明一個(gè)類是從另外一個(gè)類繼承而來的,一般形式如下

public class 父類{
  String name;//屬性
  public void study(){
  System.out.println(name+"正在學(xué)習(xí)");//方法
  }
}
 
 
public class 子類 extends 父類{
}

每個(gè)子類只能繼承一個(gè)父類,但可以多重繼承。

子類可以調(diào)用直接父類中的屬性和方法

public class Demo{
  public static void main(String[] args) {
   子類 st = new 子類();
    st.name = "學(xué)生";
    st.study();
  }
}

運(yùn)行結(jié)果為:

學(xué)生正在學(xué)習(xí)

重寫父類中的方法

當(dāng)一個(gè)子類中一個(gè)方法具有與其父類中的一個(gè)方法相同的簽名(指名稱、參數(shù)個(gè)數(shù)和類型)和返回值時(shí),稱子類中的方法“重寫”了父類的方法。

例如:

注意:重寫的方法具有與其所重寫的方法相同的名稱、參數(shù)數(shù)量、類型和返回值。

public class 子類 extends 父類{
  public void study(){
    System.out.println(name+"正在努力學(xué)習(xí)");
  }
}

若代碼旁有綠色小三角表示,即為重寫成功,此時(shí)運(yùn)行結(jié)果為:

學(xué)生正在努力學(xué)習(xí)

自動(dòng)轉(zhuǎn)型(向上轉(zhuǎn)型)

格式:父類名  對(duì)象名 = new 子類構(gòu)造方法

注意:

*自動(dòng)轉(zhuǎn)型后該對(duì)象優(yōu)先執(zhí)行子類重寫的方法。

*子類中特有的方法不能調(diào)用。

public class Demo1{
  public static void main(String[] args) {
   父類 st2 = new 子類();
   st2.name="學(xué)生2";
   st2.study();
  }
}

結(jié)果為:

學(xué)生2正在努力學(xué)習(xí)

強(qiáng)制轉(zhuǎn)型(向下轉(zhuǎn)型)

格式:子類名 對(duì)象名 = (子類名)對(duì)象

public class Demo1{
  public static void main(String[] args) {
   父類 st2 = new 子類();
   st2.name="學(xué)生2";
   st2.study();
 
   子類 st2 = (子類) st21//強(qiáng)制轉(zhuǎn)型
  }
}

*強(qiáng)制轉(zhuǎn)型的前提是自動(dòng)轉(zhuǎn)型。

多態(tài)

在定義一個(gè)方法時(shí),參數(shù)類型如為父類,那么繼承該父類的子類也可作為方法的參數(shù)類型,例如:

public class 父類{
  //參數(shù)類型為父類
  public void study(父類 f){
  System.out.println("正在學(xué)習(xí)");//方法
  }
}
 
public class Demo2{
  public static void main(String[] args) {
   子類 st3 = new 子類();
   st3.study(st3);
  }
}

運(yùn)行結(jié)果為:

正在學(xué)習(xí)

接口

Java接口可理解為一種特殊的類。

接口定義關(guān)鍵字:interface。

接口中的屬性均需在定義時(shí)給定初始值,因?yàn)榻涌谥械淖兞烤詭?strong>static靜態(tài)關(guān)鍵字,屬于全局共享的類變量:

//定義接口:interface
public interface Student {
	//常量
	//static 靜態(tài)關(guān)鍵字
	//常量通常用大寫字母命名
	public static  String NAME = "1";
}

接口中聲明的方法默認(rèn)是抽象方法(即只有方法標(biāo)識(shí)符,而沒有方法體)。

//定義接口:interface
public interface Student {
	//常量
	//static 靜態(tài)關(guān)鍵字
	public static  String NAME = "1";
	//抽象方法
	public abstract void study();
}

Java中一個(gè)類可以繼承多個(gè)接口,且繼承接口時(shí)必須重寫接口中的所有方法。

接口繼承關(guān)鍵字:implement

接口的意義:

*彌補(bǔ)Java普通類不支持多繼承的局限。

*接口指明了一個(gè)類必須要做什么和不能做什么,相當(dāng)于類的藍(lán)圖。

*接口的作用就是告訴類,你要實(shí)現(xiàn)我這種接口代表的功能,你就必須實(shí)現(xiàn)某些方法,我才能承認(rèn)你確實(shí)擁有該接口代表的某種能力。

因此在團(tuán)隊(duì)開發(fā)中起到方法整合的作用,有利為合作開發(fā)。        

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 通過實(shí)例解析synchronized和lock區(qū)別

    通過實(shí)例解析synchronized和lock區(qū)別

    這篇文章主要介紹了通過實(shí)例解析synchronized和lock區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-12-12
  • 淺析Java 反射機(jī)制的用途和缺點(diǎn)

    淺析Java 反射機(jī)制的用途和缺點(diǎn)

    這篇文章給大家分析了Java 反射機(jī)制的用途和缺點(diǎn)以及相關(guān)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友可以參考學(xué)習(xí)下。
    2018-07-07
  • 詳解IDEA2020新建spring項(xiàng)目和c3p0連接池的創(chuàng)建和使用

    詳解IDEA2020新建spring項(xiàng)目和c3p0連接池的創(chuàng)建和使用

    C3P0是一個(gè)開源的JDBC連接池,它實(shí)現(xiàn)了數(shù)據(jù)源和JNDI綁定,本文就使用Spring實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 通過spring boot 設(shè)置tomcat解決 post參數(shù)限制問題

    通過spring boot 設(shè)置tomcat解決 post參數(shù)限制問題

    這篇文章主要介紹了通過spring boot 設(shè)置tomcat解決 post參數(shù)限制問題,需要的朋友可以參考下
    2019-05-05
  • Java Hibernate中的多種查詢方式及示例

    Java Hibernate中的多種查詢方式及示例

    Hibernate提供了多種查詢方式,包括HQL查詢、SQL查詢、QBC查詢和Criteria查詢等。HQL查詢是基于面向?qū)ο蟮牟樵冋Z言,可以方便地進(jìn)行對(duì)象導(dǎo)航和多表查詢;SQL查詢?cè)试S用戶直接使用SQL語句進(jìn)行查詢;QBC查詢是基于Criteria的查詢,具有類型安全和可重用性的優(yōu)勢
    2023-04-04
  • Java字符串原理分析之String是否可變

    Java字符串原理分析之String是否可變

    當(dāng)我們?cè)谇舐殨r(shí),面試官很喜歡問我們關(guān)于String的一些原理性知識(shí),比如String的不可變性、字符串的內(nèi)存分配等,為了讓大家更好地應(yīng)對(duì)面試,并理解String的底層設(shè)計(jì),接下來會(huì)給大家聊聊String的一些原理,比如String為什么具有不可變性,需要的朋友可以參考下
    2023-05-05
  • IDEA啟動(dòng)tomcat狀態(tài)404的解決

    IDEA啟動(dòng)tomcat狀態(tài)404的解決

    在使用Idea進(jìn)行Java?Web開發(fā)過程中,經(jīng)常會(huì)遇到Tomcat出現(xiàn)404錯(cuò)誤的問題,本文就來介紹了IDEA啟動(dòng)tomcat狀態(tài)404的解決,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • springboot 多數(shù)據(jù)源配置不生效遇到的坑及解決

    springboot 多數(shù)據(jù)源配置不生效遇到的坑及解決

    這篇文章主要介紹了springboot 多數(shù)據(jù)源配置不生效遇到的坑及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java 自定義注解的魅力

    Java 自定義注解的魅力

    這篇文章主要介紹了Java 自定義注解的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下
    2021-03-03
  • 處理Log4j2不能打印行號(hào)的問題(AsyncLogger)

    處理Log4j2不能打印行號(hào)的問題(AsyncLogger)

    這篇文章主要介紹了處理Log4j2不能打印行號(hào)的問題(AsyncLogger),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12

最新評(píng)論