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

關于java中構造函數的一些知識詳解

 更新時間:2016年12月10日 10:07:53   投稿:jingxian  
下面小編就為大家?guī)硪黄P于java中構造函數的一些知識詳解。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

java的構造函數是一個非常重要的作用,首先java里的構造函數是可以重載的,而且因為也是可以繼承在父類的構造函數,所以在子類里,首先必然是調用父類的構造函數??梢钥聪旅娴膬蓚€例子來對比:

public class Test
{
  public static void main(String args[])
  {
    B b = new B(100);
  }
}

class A
{
  public A()
  {
    System.out.println("A without any parameter");
  }
  public A(int i)
  {
    System.out.println("A with a parameter");
  }
}

class B extends A
{
  public B()
  {
    System.out.println("B without any parameter");
  }
  public B(int i)
  {
    System.out.println("B with a parameter");
  }
}

這個例子最后輸出的是

A without any parameter

B with a parameter

可以看到首先調用的是父類的構造函數,然后再是調用自己的構造函數。但是因為這里的B類中的有參數的構造函數是沒有super父類,所以導致它只會執(zhí)行父類的沒有參數的構造函數。如果要讓它執(zhí)行有參數的父類的構造函數,那么就要這樣寫代碼:

public class Test
{
  public static void main(String args[])
  {
    B b = new B(100);
  }
}

class A
{
  public A()
  {
    System.out.println("A without any parameter");
  }
  public A(int i)
  {
    System.out.println("A with a parameter");
  }
}

class B extends A
{
  public B()
  {
    System.out.println("B without any parameter");
  }
  public B(int i)
  {
    super(i);        //這里就是繼承自父類的有參數的構造函數
    System.out.println("B with a parameter");
  }
}

所以最后輸出的是:

A with a parameter

B with a parameter

因此,派生類必須通過super來調用父類的含有參數的構造函數。以下再附一道題:

public class Test extends X
{
  Y y = new Y();
  Test()
  {
    System.out.print("Z");
  }
  public static void main(String args[])
  {
    new Test();
  }
}

class X
{
  Y b = new Y();
  X()
  {
    System.out.print("X");
  }
}

class Y
{
  Y()
  {
    System.out.print("Y");
  }
}

輸出的結果是什么?

首先我們來分析這道題:

因為首先看這個main函數,這個main函數只有一句代碼: new Test();因為發(fā)現這個Test類是繼承自X,所以首先要構造X,那么就進行X類的運行 Y b = new Y(),然后我們可以看到輸出的Y,然后就是執(zhí)行X類的構造函數,輸出X;接著就是構造Y,然后執(zhí)行Test自己的構造函數,輸出Z,所以輸出結果是YXYZ。

以上這篇關于java中構造函數的一些知識詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • SpringSecurity安全框架在SpringBoot框架中的使用詳解

    SpringSecurity安全框架在SpringBoot框架中的使用詳解

    在Spring?Boot框架中,Spring?Security是一個非常重要的組件,它可以幫助我們實現應用程序的安全性,本文將詳細介紹Spring?Security在Spring?Boot框架中的使用,包括如何配置Spring?Security、如何實現身份驗證和授權、如何防止攻擊等
    2023-06-06
  • java文件對話框過濾特定文件類型示例

    java文件對話框過濾特定文件類型示例

    文件作為存儲數據的單元,會根據數據類型產生很多分類,也就是所謂的文件類型。在對數據文件進行操作時,常常需要根據不同的文件類型來作不同的處理。本實例實現的是讀取文件夾指定類型的文件并顯示到表格控件中
    2014-02-02
  • Spring?Boot中使用Swagger3.0.0版本構建RESTful?APIs的方法

    Spring?Boot中使用Swagger3.0.0版本構建RESTful?APIs的方法

    Swagger?是一個規(guī)范和完整的框架,用于生成、描述、調用和可視化?RESTful?風格的?Web?服務,這篇文章主要介紹了Spring?Boot中使用Swagger3.0.0版本構建RESTful?APIs的方法,需要的朋友可以參考下
    2022-11-11
  • SpringBoot利用限速器RateLimiter實現單機限流的示例代碼

    SpringBoot利用限速器RateLimiter實現單機限流的示例代碼

    本文主要介紹了SpringBoot利用限速器RateLimiter實現單機限流的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 談談Java中自定義注解及使用場景

    談談Java中自定義注解及使用場景

    這篇文章主要介紹了談談Java中自定義注解及使用場景,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • Java用文件流下載網絡文件示例代碼

    Java用文件流下載網絡文件示例代碼

    這篇文章主要介紹了Java用文件流的方式下載網絡文件,大家參考使用吧
    2013-11-11
  • 解決swagger2.9.2接口文檔顯示的問題

    解決swagger2.9.2接口文檔顯示的問題

    這篇文章主要介紹了解決swagger2.9.2接口文檔顯示的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • java 中序列化與readResolve()方法的實例詳解

    java 中序列化與readResolve()方法的實例詳解

    這篇文章主要介紹了java 中序列化與readResolve()方法的實例詳解的相關資料,這里提供實例幫助大家理解這部分知識,需要的朋友可以參考下
    2017-08-08
  • 【spring-boot】快速構建spring-boot微框架的方法

    【spring-boot】快速構建spring-boot微框架的方法

    本篇文章主要介紹了【spring-boot】快速構建spring-boot微框架的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • Java數據類型的規(guī)則

    Java數據類型的規(guī)則

    這篇文章主要介紹了Java數據類型的規(guī)則的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-12-12

最新評論