最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于java中構(gòu)造函數(shù)的一些知識(shí)詳解

 更新時(shí)間:2016年12月10日 10:07:53   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇關(guān)于java中構(gòu)造函數(shù)的一些知識(shí)詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

java的構(gòu)造函數(shù)是一個(gè)非常重要的作用,首先java里的構(gòu)造函數(shù)是可以重載的,而且因?yàn)橐彩强梢岳^承在父類的構(gòu)造函數(shù),所以在子類里,首先必然是調(diào)用父類的構(gòu)造函數(shù)??梢钥聪旅娴膬蓚€(gè)例子來(lái)對(duì)比:

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");
  }
}

這個(gè)例子最后輸出的是

A without any parameter

B with a parameter

可以看到首先調(diào)用的是父類的構(gòu)造函數(shù),然后再是調(diào)用自己的構(gòu)造函數(shù)。但是因?yàn)檫@里的B類中的有參數(shù)的構(gòu)造函數(shù)是沒(méi)有super父類,所以導(dǎo)致它只會(huì)執(zhí)行父類的沒(méi)有參數(shù)的構(gòu)造函數(shù)。如果要讓它執(zhí)行有參數(shù)的父類的構(gòu)造函數(shù),那么就要這樣寫(xiě)代碼:

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);        //這里就是繼承自父類的有參數(shù)的構(gòu)造函數(shù)
    System.out.println("B with a parameter");
  }
}

所以最后輸出的是:

A with a parameter

B with a parameter

因此,派生類必須通過(guò)super來(lái)調(diào)用父類的含有參數(shù)的構(gòu)造函數(shù)。以下再附一道題:

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");
  }
}

輸出的結(jié)果是什么?

首先我們來(lái)分析這道題:

因?yàn)槭紫瓤催@個(gè)main函數(shù),這個(gè)main函數(shù)只有一句代碼: new Test();因?yàn)榘l(fā)現(xiàn)這個(gè)Test類是繼承自X,所以首先要構(gòu)造X,那么就進(jìn)行X類的運(yùn)行 Y b = new Y(),然后我們可以看到輸出的Y,然后就是執(zhí)行X類的構(gòu)造函數(shù),輸出X;接著就是構(gòu)造Y,然后執(zhí)行Test自己的構(gòu)造函數(shù),輸出Z,所以輸出結(jié)果是YXYZ。

以上這篇關(guān)于java中構(gòu)造函數(shù)的一些知識(shí)詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 一文搞懂Java中的線程安全與線程同步

    一文搞懂Java中的線程安全與線程同步

    線程安全指在被多個(gè)線程訪問(wèn)時(shí),程序可以持續(xù)進(jìn)行正確的處理。線程同步是指程序中用于控制不同線程間操作發(fā)生相對(duì)順序的機(jī)制。本文將通過(guò)示例詳細(xì)為大家講講二者的使用,需要的可以參考一下
    2022-06-06
  • Java并發(fā)LinkedBlockingQueue源碼分析

    Java并發(fā)LinkedBlockingQueue源碼分析

    這篇文章主要為大家介紹了Java并發(fā)LinkedBlockingQueue源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • SpringBoot與Angular2的集成示例

    SpringBoot與Angular2的集成示例

    本篇文章主要介紹了SpringBoot與Angular2的集成示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • Java獲取項(xiàng)目路徑的多種方式

    Java獲取項(xiàng)目路徑的多種方式

    這篇文章主要介紹了Java獲取項(xiàng)目路徑的多種方式,這時(shí)候就需要用java給我們提供的一些獲取相對(duì)路徑方法了,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2022-01-01
  • SpringMVC攔截器快速掌握上篇

    SpringMVC攔截器快速掌握上篇

    攔截器(Interceptor)是一種動(dòng)態(tài)攔截方法調(diào)用的機(jī)制,在SpringMVC中動(dòng)態(tài)攔截控制器方法的執(zhí)行。本文將詳細(xì)講講SpringMVC中攔截器的概念及入門(mén)案例,感興趣的可以嘗試一下
    2022-08-08
  • Spring從入門(mén)到源碼之IOC基本用法

    Spring從入門(mén)到源碼之IOC基本用法

    這篇文章給大家介紹了Spring從入門(mén)到源碼之IOC基本用法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2022-01-01
  • @SpringBootConfiguration重復(fù)加載報(bào)錯(cuò)問(wèn)題解決

    @SpringBootConfiguration重復(fù)加載報(bào)錯(cuò)問(wèn)題解決

    @SpringBootApplication?注解的?exclude?屬性用于排除特定的自動(dòng)配置類,而不是用于排除主配置類本身,因此,不能通過(guò)?exclude?屬性來(lái)排除主配置類的加載,這篇文章主要介紹了@SpringBootConfiguration重復(fù)加載報(bào)錯(cuò),需要的朋友可以參考下
    2024-08-08
  • JVM中的flag設(shè)置詳解

    JVM中的flag設(shè)置詳解

    這篇文章主要介紹了JVM中的flag設(shè)置詳解,涉及堆大小設(shè)置,收集器設(shè)置等香公館內(nèi)容,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • Springboot中yml對(duì)于list列表配置方式詳解

    Springboot中yml對(duì)于list列表配置方式詳解

    這篇文章主要介紹了Springboot中yml對(duì)于list列表配置方式詳解,使用@ConfigurationProperties讀取yml配置文件過(guò)程中會(huì)遇到讀取yml文件中列表,Config里面使用List集合接收,方法比較簡(jiǎn)單,需要的朋友可以參考下
    2023-11-11
  • MyBatis簡(jiǎn)介與配置MyBatis+Spring+MySql的方法

    MyBatis簡(jiǎn)介與配置MyBatis+Spring+MySql的方法

    MyBatis 是一個(gè)可以自定義SQL、存儲(chǔ)過(guò)程和高級(jí)映射的持久層框架。這篇文章主要介紹了MyBatis簡(jiǎn)介與配置MyBatis+Spring+MySql的方法,需要的朋友可以參考下
    2017-04-04

最新評(píng)論

阜南县| 丁青县| 祁东县| 申扎县| 普洱| 扎赉特旗| 巴彦淖尔市| 河间市| 门头沟区| 策勒县| 呼图壁县| 普安县| 咸丰县| 宝应县| 新巴尔虎左旗| 哈尔滨市| 闸北区| 治多县| 宜城市| 高阳县| 蓬溪县| 林口县| 晋州市| 大埔县| 江山市| 凌海市| 郴州市| 中阳县| 名山县| 博野县| 蓬莱市| 泾阳县| 商都县| 濮阳市| 营山县| 同仁县| 明溪县| 彭山县| 乌审旗| 乐昌市| 鹤山市|