成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

構(gòu)造器的執(zhí)行順序

開(kāi)發(fā) 后端
在沒(méi)有靜態(tài)塊的情況下,子類的對(duì)象創(chuàng)建時(shí),父類的無(wú)參構(gòu)造器-->子類的構(gòu)造器(產(chǎn)生對(duì)象的構(gòu)造器,如果 是無(wú)參則執(zhí)行的是無(wú)參構(gòu)造器,如果執(zhí)行的是有參則執(zhí)行的有參構(gòu)造器,詳細(xì)請(qǐng)看下文

1,在沒(méi)有靜態(tài)塊的情況下,子類的對(duì)象創(chuàng)建時(shí),父類的無(wú)參構(gòu)造器-->子類的構(gòu)造器(產(chǎn)生對(duì)象的構(gòu)造器,如果

是無(wú)參則執(zhí)行的是無(wú)參構(gòu)造器,如果執(zhí)行的是有參則執(zhí)行的有參構(gòu)造器)

現(xiàn)在的父類中只有兩個(gè)構(gòu)造器:

  1. Father.java  
  2.  Father {  
  3.     public Father(){  
  4.         System.out.println("我是父類的無(wú)參構(gòu)造器");  
  5.     }  
  6.        
  7.     public Father(String username){  
  8.         System.out.println("我是父類有參構(gòu)造器,傳過(guò)來(lái)的參數(shù)是+"+username);  
  9.     }  
  10. public class SonDemo extends Father{  
  11.    
  12.     public SonDemo(){  
  13.         System.out.println("我是--子類--的無(wú)參構(gòu)造器");  
  14.     }  
  15.     public SonDemo(String username){  
  16.         System.out.println("我是子類的有參構(gòu)造器,參數(shù)是"+username);  
  17.     }  
  18.        
  19.     public void sys(){  
  20.         System.out.println("我是子類的sys方法");  
  21.     }  
  22.        
  23.     public static void main(String[] args) {  
  24.         //里面的內(nèi)容在下面有說(shuō)明  
  25.     }  
  26.        
  27.        
  28.        

①,子類使用無(wú)參構(gòu)造器創(chuàng)建對(duì)象:

在SonDemo 的main方法中加入創(chuàng)建對(duì)象的代碼:

  1. SonDemo son = new SonDemo();  
  2.        

我是父類的無(wú)參構(gòu)造器

我是--子類--的無(wú)參構(gòu)造器

②,子類使用有參構(gòu)造器創(chuàng)建對(duì)象:

SonDemo的main方法中加入

  1. SonDemo son = new SonDemo("than you ma"); 

那么控制臺(tái)打印的結(jié)果是:

我是父類的無(wú)參構(gòu)造器

我是子類的有參構(gòu)造器,參數(shù)是than you ma

也就是說(shuō)在子類調(diào)用無(wú)參構(gòu)造器創(chuàng)建對(duì)象的時(shí)候,在執(zhí)行它自己的有參構(gòu)造器之前首先執(zhí)行父類的無(wú)參構(gòu)造器。

③,在子類中創(chuàng)建父類的對(duì)象,使用無(wú)參,

  1. SonDemo son = new SonDemo("than you ma");  
  2. Father ff = new Father(); 

SonDemo的main方法中加入

我是父類的無(wú)參構(gòu)造器

我是--子類--的無(wú)參構(gòu)造器

我是父類的無(wú)參構(gòu)造器

調(diào)用了父類的無(wú)參構(gòu)造器,有參的創(chuàng)建對(duì)象調(diào)用的是有參構(gòu)造器。

總結(jié):在創(chuàng)建子類對(duì)象的時(shí)候,首先會(huì)調(diào)用父類的構(gòu)造器,讓后在調(diào)用子類相應(yīng)的構(gòu)造器創(chuàng)建對(duì)象,在子類創(chuàng)建父類對(duì)象時(shí),就是直接調(diào)用父類自己相應(yīng)的構(gòu)造器。

2.如果在子類和父類中存在靜態(tài)塊;執(zhí)行順序有會(huì)是怎么樣的了?

答,靜態(tài)塊會(huì)在構(gòu)造器之前運(yùn)行。不管是子類還是父類。創(chuàng)建一個(gè)對(duì)象的時(shí)候,會(huì)首先加載它的靜態(tài)塊。

  1. Father.java  
  2. public class Father {  
  3.    
  4.     //靜態(tài)塊  
  5.     static{  
  6.         System.out.println("father  static ");  
  7.     }  
  8.        
  9.     public Father(){  
  10.         System.out.println("我是父類的無(wú)參構(gòu)造器");  
  11.     }  
  12.        
  13.     public Father(String username){  
  14.         System.out.println("我是父類有參構(gòu)造器,傳過(guò)來(lái)的參數(shù)是+"+username);  
  15.     }  
  16. }  
  17.    
  18. SonDemo.java  
  19. public class SonDemo extends Father{  
  20.     //靜態(tài)塊  
  21.     static{  
  22.         System.out.println("sonDemo static ");  
  23.     }  
  24.        
  25.     public SonDemo(){  
  26.         System.out.println("我是--子類--的無(wú)參構(gòu)造器");  
  27.     }  
  28.     public SonDemo(String username){  
  29.         System.out.println("我是子類的有參構(gòu)造器,參數(shù)是"+username);  
  30.     }  
  31.        
  32.     public void sys(){  
  33.         System.out.println("我是子類的sys方法");  
  34.     }  
  35.        
  36.     public static void main(String[] args) {  
  37.         SonDemo son = new SonDemo();  
  38.     }  

①程序的結(jié)果:

father static 

sonDemo static 

我是父類的無(wú)參構(gòu)造器 

我是--子類--的無(wú)參構(gòu)造器 

因?yàn)樵趧?chuàng)建子類對(duì)象之前:會(huì)創(chuàng)建父類的一個(gè)對(duì)象,而靜態(tài)塊會(huì)在main之前被加載,所以兩個(gè)類的靜態(tài)塊首先執(zhí)行。

然后執(zhí)行構(gòu)造器。

②,如果在子類中的main中只創(chuàng)建父類的對(duì)象結(jié)果是怎么樣的呢?

打印結(jié)果:

father static 

sonDemo static 

我是父類的無(wú)參構(gòu)造器

為什么子類的靜態(tài)塊會(huì)被加載了?是因?yàn)槲覀兪窃赟onDemo中測(cè)試,如果在其他類中測(cè)試就不會(huì)打印。

總結(jié):我們說(shuō)了這么多就是重要的一點(diǎn)。靜態(tài)塊會(huì)在構(gòu)造器器之前執(zhí)行。

原文鏈接:http://www.cnblogs.com/pengqinping/archive/2012/05/14/2498892.html

【編輯推薦】

  1. Java端通過(guò)CXF調(diào)用.NET端服務(wù)
  2. Java線程池的原理及幾類線程池的介紹
  3. Java中的異常對(duì)程序效率有無(wú)影響
  4. Java簡(jiǎn)單的網(wǎng)絡(luò)爬蟲實(shí)現(xiàn)
  5. Java調(diào)用SQL Server的存儲(chǔ)過(guò)程詳解
責(zé)任編輯:林師授 來(lái)源: 彭sir的博客
相關(guān)推薦

2012-02-27 14:09:00

Java

2009-07-21 12:35:00

Scala從構(gòu)造器

2022-01-21 08:50:15

Promise任務(wù)隊(duì)列前端

2022-01-04 19:33:03

Java構(gòu)造器調(diào)用

2024-10-11 17:13:14

SQL數(shù)據(jù)庫(kù)查詢數(shù)據(jù)庫(kù)

2009-07-17 17:41:41

SwingWorker

2010-04-16 09:27:18

Ocacle執(zhí)行計(jì)劃

2021-07-28 07:22:40

SQL順序Hive

2019-11-06 09:30:35

SQL查詢語(yǔ)句數(shù)據(jù)庫(kù)

2009-07-03 16:33:13

Tapestry函數(shù)執(zhí)

2011-05-16 10:35:02

jQuery

2010-09-03 14:47:50

SQLSELECT語(yǔ)句

2024-11-07 12:37:17

2009-11-10 16:00:05

Oracle執(zhí)行計(jì)劃

2021-09-26 09:59:14

MYSQL開(kāi)發(fā)數(shù)據(jù)庫(kù)

2022-05-10 08:47:00

JMeter作用域執(zhí)行順序

2010-08-27 13:07:00

CSS規(guī)則

2022-02-16 13:46:40

Spring Aop代碼注解

2019-10-22 08:45:07

Java構(gòu)造器編程語(yǔ)言

2020-10-16 09:40:18

順序Spring AOPHTTP
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美日韩成人在线 | 最新国产视频 | 久久99深爱久久99精品 | 日本高清中文字幕 | 国产视频久久久久 | 我要看黄色录像一级片 | 青青草中文字幕 | 一区二区三区免费观看 | 大久 | 久久精品一 | www.v888av.com| 一二区视频 | 无吗视频 | 国产剧情一区 | 欧美成人一区二区 | 最新中文字幕一区 | 成年网站在线观看 | a级大片免费观看 | 久久亚洲一区 | 国产视频1区2区 | 欧美成人猛片aaaaaaa | 中文精品一区二区 | 久草视| 91精品国产乱码久久久久久久久 | 99精品视频在线观看 | 小早川怜子xxxxaⅴ在线 | 国产一区精品 | 最新国产精品 | 国产伦精品一区二区三区视频金莲 | 懂色av色香蕉一区二区蜜桃 | 黄网站色大毛片 | 精品三区 | 国产欧美一级二级三级在线视频 | 亚洲欧洲一区 | 成人精品国产 | 999热精品| 日韩在线一区二区 | 91电影| 2018国产精品 | 久久精品视频一区二区 | 一区中文字幕 |