精品偷拍一区二区三区,亚洲精品永久 码,亚洲综合日韩精品欧美国产,亚洲国产日韩a在线亚洲

  • <center id="usuqs"></center>
  • 
    
  • 關(guān)鍵字super、this有哪幾種用法,各表示什么?

    關(guān)鍵字super、this有哪幾種用法,各表示什么?
    .
    其他人氣:382 ℃時間:2019-11-10 09:31:17
    優(yōu)質(zhì)解答
    1.super代表父類?代表父類的對象?還是代表父類的引用?為什么super()在構(gòu)造方法,super.fun()在方法能用?個人認(rèn)為應(yīng)該是super表示對象才能這么調(diào)用,可父類對象沒被new 而如果是表示父類的話,那fun()應(yīng)該是static方法啊?迷茫~有些東西可以稱為定義,不要鉆牛角尖 super();表示調(diào)用父類的構(gòu)造方法,只是調(diào)用方法,不構(gòu)造對象.super.fun();表示調(diào)用父類的某方法 在繼承的時候這個方法是肯定被繼承下來的.如果fun()這個方法在子類沒有重寫,那么super.fun();實際上跟直接調(diào)用fun();是一樣的.如果被重寫了,那么super.fun();就是重寫前的,fun();就是重寫后的.不知道這么說理解了沒
    2,java里在了類中用super調(diào)用父類構(gòu)造函數(shù)時,為什么調(diào)用語句必須是子類的第一條語句啊?如果你想用super繼承父類構(gòu)造的方法 但是沒有放在第一行的話 那么在super之前的語句 肯定是為了滿足你自己想要完成某些行為的語句 但是你又用了super繼承父類的構(gòu)造方法 那么以前所做的修改就都回到以前了 也就是說又成了父類的構(gòu)造方法了 比如 class Father { public Father() {String int age=0;} } class Son extends Father { public Son() {String ; super();} } //這樣子的話就會把Son里面的name又變成了null 沒有達(dá)到你想要的效果 不知道明白沒有 累死我了 3,java中的super()是什么?要說super就先要說this."this",作為一個特殊的關(guān)鍵字,它的規(guī)則如下:
    1.可以表示構(gòu)造函數(shù)傳遞.this(a,b)表示調(diào)用另外一個構(gòu)造函數(shù).這里面的this就是一個特殊語法,不是變量,沒有什么類型.
    2.可以在一個類的非static成員內(nèi)部使用,表示當(dāng)前這個對象.此時,this就是一個final的普通變量,它有靜態(tài)類型,就是這個類C本身;它有動態(tài)類型,就是當(dāng)前這個對象的類型.你可以對它調(diào)用成員函數(shù),把它傳遞給別的函數(shù),等等等等.只要一個C類型的final變量可以出現(xiàn)的地方,它就可以出現(xiàn)."super".它和"this"類似,但是也有不同的地方.
    1.表示調(diào)用父類的構(gòu)造函數(shù).也是一個特殊語法,不是變量,沒有什么類型.
    2.可以在一個類的非static成員內(nèi)部使用.比如super.method().但是,注意,這個super.method()只是長得跟some_var.method()一樣,一個語法糖而已.實質(zhì)上,"super"根本不是一個變量.為什么不是?因為如果是就壞了.java里面有一個金科玉律:任何public非static函數(shù)的調(diào)用都是多態(tài)的.所以,如果super是個變量,也指向當(dāng)前對象,那么,不管super的靜態(tài)類型是什么super.method()必然調(diào)用的是子類的那個版本,而不會是我們期望的,靜態(tài)地選擇父類的那個版本.所以,你只要把super.xxx看成一個特殊的語法,比如理解為“super::xxx”就好了.既然super不是一個變量,那么不能把它象一個普通變量那樣"==",或者傳遞給某個函數(shù)就看起來很正常了,是么?何況,你其實也用不著它,有this你這些要求就都可以辦到了.
    3.super的另外一個作用是調(diào)用父類的protected函數(shù).只有通過"super"這個魔咒,我們才能操作父類的protected成員,別無它法.
    我來回答
    類似推薦
    請使用1024x768 IE6.0或更高版本瀏覽器瀏覽本站點,以保證最佳閱讀效果。本頁提供作業(yè)小助手,一起搜作業(yè)以及作業(yè)好幫手最新版!
    版權(quán)所有 CopyRight © 2012-2024 作業(yè)小助手 All Rights Reserved. 手機(jī)版