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

基于java中子類的繼承性的應(yīng)用介紹

 更新時(shí)間:2013年05月02日 17:57:18   作者:  
本篇介紹了,基于java中子類的繼承性的應(yīng)用。需要的朋友參考下

1,繼承的定義

子類的成員中有一部分是子類自己申明定義的,另一部分是從他的父類繼承的。子類繼承父類的成員變量作為自己的一個(gè)成員變量,就好像他們是在子類中直接

申明一樣,可以被子類中自己的任何實(shí)例方法操作。也就是說,一個(gè)子類繼承的成員應(yīng)當(dāng)是這個(gè)類的完全意義的成員,如果子類中申明的實(shí)例方法不能操作父類

的某個(gè)成員變量,該成員變量就沒有被子類繼承,子類繼承父類的方法作為子類中的方法,就像他們是在子類中直接聲一樣,可以被子類中自己聲明的刃虎實(shí)例

方法調(diào)用。

2.子類父類在一個(gè)包中的情況

子類可以繼承父類中的除了private的成員變量和方法,作為自己的成員變量和方法。繼承的成員變量和方法的訪問權(quán)限是不變的。

/test/src/com/b510/Parent.java

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

package com.b510;

 /**
  * @author Hongten
  *
  * @time 2012-3-13 2012
  */
 public class Parent {
     private int numbera = 10;
     protected int numberb = 20;

     /**
      * 友元函數(shù)sum()
 */
     void sum() {
         numberb = numbera + numberb;
         System.out.println(numberb);
     }

     /**
      * 獲得numbera,此方法是private
      *
      * @return numbera
 */
     private int getNumbera() {
         System.out.println(numbera);
         return numbera;
     }

     /**
      * 此方法是public類型的
 */
     public void print() {
         System.out.println("numberb+numbera=" + (numberb + numbera));
     }

     /**
      * 此方法是protected類型的
 */
     protected void say() {
         System.out.println("Hello,i'm parent class!");
     }
 }

/test/src/com/b510/ParentAndSubClass.java
復(fù)制代碼 代碼如下:

package com.b510;

 /**
  * @author Hongten
  *
  * @time 2012-3-13 2012
  */
 public class ParentAndSubClass {
     public static void main(String[] args) {
         SubClass sub = new SubClass();
         // 繼承父類中的方法
         sub.say();
         sub.sum();
         sub.print();
         // 子類自己的方法
         sub.proFun();
         sub.youYuan();
     }

 }

/test/src/com/b510/SubClass.java
復(fù)制代碼 代碼如下:

package com.b510;

 /**
  * @author Hongten
  *
  * @time 2012-3-13 2012
  */
 public class SubClass extends Parent {

     /**
      * 友元方法
 */
     void youYuan() {
         System.out.println("子類不能繼承numbera,但能繼承numberb=" + numberb);
         System.out.println("這是子類中的友元方法");
     }

     /**
      * private方法
 */
     private void priFun() {
         System.out.println("這是private方法");
     }

     /**
      * protected方法
 */
     protected void proFun() {
         System.out.println("子類中可以繼承numberb=" + numberb);
     }

 }

運(yùn)行結(jié)果:
復(fù)制代碼 代碼如下:

Hello,i'm parent class!
 30
 numberb+numbera=40
 子類中可以繼承numberb=30
 子類不能繼承numbera,但能繼承numberb=30
 這是子類中的友元方法

總結(jié):子類和父類在同一個(gè)包中的時(shí)候,子類不能繼承父類的含有private的變量和方法。

3.子類和父類不在同一個(gè)包的情況
/test/src/com/Parent.java

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

package com;

 /**
  * @author Hongten
  *
  * @time 2012-3-13 2012
  */
 public class Parent {
     private int numbera = 10;
     protected int numberb = 20;

     /**
      * 友元函數(shù)sum()
 */
     void sum() {
         numberb = numbera + numberb;
         System.out.println(numberb);
     }

     /**
      * 獲得numbera,此方法是private
      *
      * @return numbera
 */
     private int getNumbera() {
         System.out.println(numbera);
         return numbera;
     }

     /**
      * 此方法是public類型的
 */
     public void print() {
         System.out.println("numberb+numbera=" + (numberb + numbera));
     }

     /**
      * 此方法是protected類型的
 */
     protected void say() {
         System.out.println("Hello,i'm parent class!");
     }
 }

/test/src/com/b510/ParentAndSubClass.java
復(fù)制代碼 代碼如下:

package com.b510;

 /**
  * @author Hongten
  *
  * @time 2012-3-13 2012
  */
 public class ParentAndSubClass {
     public static void main(String[] args) {
         SubClass sub = new SubClass();
         // 繼承父類中的方法
         sub.say();
         sub.print();
         // 子類自己的方法
         sub.proFun();
         sub.youYuan();
     }

 }

/test/src/com/b510/SubClass.java
復(fù)制代碼 代碼如下:

package com.b510;

 import com.Parent;

 /**
  * @author Hongten
  *
  * @time 2012-3-13 2012
  */
 public class SubClass extends Parent {

     /**
      * 友元方法
 */
     void youYuan() {
         System.out.println("子類不能繼承numbera,但能繼承numberb=" + numberb);
         System.out.println("這是子類中的友元方法");
     }

     /**
      * private方法
 */
     private void priFun() {
         System.out.println("這是private方法");
     }

     /**
      * protected方法
 */
     protected void proFun() {
         System.out.println("子類中可以繼承numberb=" + numberb);
     }

     @Override
     protected void say() {
         System.out.println("這是重寫父類的protected方法,say(),還可以得到numberb=" + numberb);
     }
 }

運(yùn)行結(jié)果:
復(fù)制代碼 代碼如下:

1 這是重寫父類的protected方法,say(),還可以得到numberb=20
2 numberb+numbera=30
3 子類中可以繼承numberb=20
4 子類不能繼承numbera,但能繼承numberb=20
5 這是子類中的友元方法

總結(jié):子類和父類不在同一個(gè)包,子類可以繼承protected,public變量和方法,繼承的成員或方法的訪問權(quán)限不變,但子類不能繼承父類的友好(友元)變量和友好(友元)方法。

相關(guān)文章

  • Java中泛型總結(jié)(推薦)

    Java中泛型總結(jié)(推薦)

    這篇文章主要介紹了Java中泛型總結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • java Timer 定時(shí)每天凌晨1點(diǎn)執(zhí)行任務(wù)

    java Timer 定時(shí)每天凌晨1點(diǎn)執(zhí)行任務(wù)

    這篇文章主要介紹了java Timer 定時(shí)每天凌晨1點(diǎn)執(zhí)行任務(wù)的代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • java設(shè)計(jì)模式之觀察者模式

    java設(shè)計(jì)模式之觀察者模式

    這篇文章主要為大家詳細(xì)介紹了java設(shè)計(jì)模式之觀察者模式的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • java清除html轉(zhuǎn)義字符

    java清除html轉(zhuǎn)義字符

    這篇文章主要介紹了一個(gè)靜態(tài)文件處理的一些便捷服務(wù),包括 java清除html轉(zhuǎn)義字符,清除html代碼,從style樣式中讀取CSS的屬性,將字符串截取指定長(zhǎng)度,涉及l(fā)og4j,common-lang類的學(xué)習(xí)
    2014-01-01
  • SpringBoot如何自動(dòng)生成API文檔詳解

    SpringBoot如何自動(dòng)生成API文檔詳解

    網(wǎng)絡(luò)程序正朝著移動(dòng)設(shè)備的方向發(fā)展,前后端分離、APP,最好的交互交互方式莫過于通過API接口實(shí)現(xiàn),這篇文章主要給大家介紹了關(guān)于SpringBoot如何自動(dòng)生成API文檔的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • java的基本數(shù)據(jù)類型及屬性

    java的基本數(shù)據(jù)類型及屬性

    java的基本數(shù)據(jù)類型及屬性,需要的朋友可以可以參考一下
    2013-03-03
  • SpringBoot3安全管理操作方法

    SpringBoot3安全管理操作方法

    這篇文章主要介紹了SpringBoot3安全管理,在實(shí)際開發(fā)中,最常用的是登錄驗(yàn)證和權(quán)限體系兩大功能,在登錄時(shí)完成身份的驗(yàn)證,加載相關(guān)信息和角色權(quán)限,在訪問其他系統(tǒng)資源時(shí),進(jìn)行權(quán)限的驗(yàn)證,保護(hù)系統(tǒng)的安全,文中有詳細(xì)的操作步驟,需要的朋友可以參考下
    2023-08-08
  • SpringBoot Import及自定義裝配實(shí)現(xiàn)方法解析

    SpringBoot Import及自定義裝配實(shí)現(xiàn)方法解析

    這篇文章主要介紹了SpringBoot Import及自定義裝配實(shí)現(xiàn)方法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • SpringBoot Data JPA 關(guān)聯(lián)表查詢的方法

    SpringBoot Data JPA 關(guān)聯(lián)表查詢的方法

    這篇文章主要介紹了SpringBoot Data JPA 關(guān)聯(lián)表查詢的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-07-07
  • java中ZXing 生成、解析二維碼圖片的小示例

    java中ZXing 生成、解析二維碼圖片的小示例

    ZXing 是一個(gè)開源 Java 類庫用于解析多種格式的 1D/2D 條形碼,這篇文章主要介紹了java中ZXing 生成、解析二維碼圖片的小示例 ,有興趣的可以了解一下。
    2017-01-01

最新評(píng)論