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

Java的覆寫操作實(shí)例分析

 更新時間:2019年10月11日 11:48:55   作者:cakincqm  
這篇文章主要介紹了Java的覆寫操作,結(jié)合實(shí)例形式分析了java屬性覆寫及super調(diào)用父類方法覆寫相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Java的覆寫操作。分享給大家供大家參考,具體如下:

一 屬性覆寫

1 點(diǎn)睛

所謂屬性覆寫,指的是子類定義和父類定義之中名稱相同的屬性。

2 代碼

class Book
{
  String info = "Hello World." ;  // 如果加上private,1處的代碼就會編譯不過
}
class ComputerBook extends Book
{
  int info = 100 ;  // 屬性名稱相同
  public void print()
  {
    System.out.println(info) ;
    System.out.println(super.info) ;     // 1處代碼
  }
}
public class OverrideData
{
  public static void main(String args[])
  {
    ComputerBook cb = new ComputerBook() ; // 實(shí)例化子類對象
    cb.print() ;
  }
}

3 運(yùn)行

100
Hello World.

4 說明

該代碼沒有太大的意義,它并沒有實(shí)現(xiàn)真實(shí)的覆寫。為了滿足類的封裝型,類中的屬性一般都需要private封裝,一旦封裝之后,子類根本就“看不見”父類的屬性成員,子類定義的同名屬性成員,其實(shí)就是一個“全新的”數(shù)據(jù)成員,所謂的覆寫操作就沒意義了。

二 super調(diào)用父類方法

1 點(diǎn)睛

子類中可以通過super.方法()調(diào)用父類中被覆寫的方法。

2 代碼

class Person
{
  String name;
  int age;
  public String talk( )
  {
    return "I am " + this.name + ", I am " + this.age + " years old";
  }
}
class Student extends Person
{
  String school;
  public Student( String name, int age, String school )
  {
    // 分別為屬性賦值
    this.name = name;  //super.name = name;
    this.age = age;   //super.age = age;
    this.school = school;
  }
  // 此處覆寫Person中的talk()方法
  public String talk( )
  {
    return super.talk()+ ", I am from " + this.school ;
  }
}
public class Override2
{
  public static void main( String[] args )
  {
    Student s = new Student( "Jack ", 25, "HAUT" );
    // 此時調(diào)用的是子類中的talk()方法
    System.out.println( s.talk() );
  }
}

3 運(yùn)行

I am Jack , I am 25 years old, I am from HAUT

4 說明

在完成方法覆寫時,需要注意以下幾點(diǎn):

  • 覆寫方法的返回類型必須和被覆寫的方法的返回類型一致。
  • 被覆寫的方法不能為static。
  • 被覆寫的方法不能擁有比父類更嚴(yán)格的訪問控制權(quán)限。

更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O(shè)計(jì)入門與進(jìn)階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • spring Retryable注解實(shí)現(xiàn)重試詳解

    spring Retryable注解實(shí)現(xiàn)重試詳解

    這篇文章主要介紹了spring Retryable注解實(shí)現(xiàn)重試詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • java報(bào)錯狀態(tài)碼問題

    java報(bào)錯狀態(tài)碼問題

    這篇文章主要介紹了java報(bào)錯狀態(tài)碼問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Java中Stringbuild,Date和Calendar類的用法詳解

    Java中Stringbuild,Date和Calendar類的用法詳解

    這篇文章主要為大家詳細(xì)介紹了Java中Stringbuild、Date和Calendar類的用法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下
    2023-04-04
  • Java8 lambda表達(dá)式2種常用方法代碼解析

    Java8 lambda表達(dá)式2種常用方法代碼解析

    這篇文章主要介紹了Java8 lambda表達(dá)式2種常用方法代碼解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • java RocketMQ快速入門基礎(chǔ)知識

    java RocketMQ快速入門基礎(chǔ)知識

    這篇文章主要介紹了java RocketMQ快速入門基礎(chǔ)知識,所以RocketMQ是站在巨人的肩膀上(kafka),又對其進(jìn)行了優(yōu)化讓其更滿足互聯(lián)網(wǎng)公司的特點(diǎn)。它是純Java開發(fā),具有高吞吐量、高可用性、適合大規(guī)模分布式系統(tǒng)應(yīng)用的特點(diǎn)。,需要的朋友可以參考下
    2019-06-06
  • 使用JAXBContext輕松實(shí)現(xiàn)Java和xml的互相轉(zhuǎn)換方式

    使用JAXBContext輕松實(shí)現(xiàn)Java和xml的互相轉(zhuǎn)換方式

    這篇文章主要介紹了依靠JAXBContext輕松實(shí)現(xiàn)Java和xml的互相轉(zhuǎn)換方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 深入淺出講解Java集合之Map接口

    深入淺出講解Java集合之Map接口

    這篇文章主要介紹了深入淺出講解Java集合之Map接口,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • Servlet會話技術(shù)基礎(chǔ)解析

    Servlet會話技術(shù)基礎(chǔ)解析

    這篇文章主要介紹了Servlet會話技術(shù)基礎(chǔ)解析,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • SpringCloud中NacosNamingService的作用詳解

    SpringCloud中NacosNamingService的作用詳解

    這篇文章主要介紹了SpringCloud中NacosNamingService的作用詳解,NacosNamingService類完成服務(wù)實(shí)例注冊,撤銷與獲取服務(wù)實(shí)例操作,NacosNamingService初始化采用單例模式,使用反射生成,需要的朋友可以參考下
    2023-11-11
  • springboot logback如何從apollo配置中心讀取變量

    springboot logback如何從apollo配置中心讀取變量

    這篇文章主要介紹了springboot logback如何從apollo配置中心讀取變量的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08

最新評論