第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

我可以在非子類中重載Java靜態(tài)方法嗎?[等候接聽(tīng)]

我可以在非子類中重載Java靜態(tài)方法嗎?[等候接聽(tīng)]

陪伴而非守候 2019-04-18 14:15:35
我知道Java方法可以在同一個(gè)類或子類中重載。但是我可以在非子類中重載Java靜態(tài)方法嗎?我對(duì)下面的代碼有點(diǎn)困惑。class A {        public static void main(String[] args) {         System.out.println("Inside main's (String[]) method");           }}class B {     public static void main(int[] args) {  // [1, 2, 3]         System.out.println("Inside main's (int[]) method");     }}public class _2b_Overloading_Staticmethod_NonSubClass {     // JVM's entry point     public static void main(String[] args) {         A.main(args);         B.main(new int[]{1,2,3});     }}
查看完整描述

2 回答

?
忽然笑

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個(gè)贊

另外,還有一些來(lái)自JLS的備份,加上一堆例子。

超載

來(lái)自JLS§8.4.9:

如果一個(gè)類的兩個(gè)方法(無(wú)論是在同一個(gè)類中聲明,還是由一個(gè)類繼承,或者一個(gè)是聲明的,一個(gè)是繼承的)都具有相同的名稱,但簽名不是覆蓋等效的,那么方法名稱就是超載。

  • 這對(duì)靜態(tài)成員來(lái)說(shuō)很重要......

    class?Foo?{
    ????static?int?someStaticMethod(String?s)?{
    ????????return?0;
    ????}
    ????static?int?someStaticMethod(String?s,?boolean?b)?{
    ????????return?0;
    ????}}
  • ......以及非靜態(tài)的:

    class?Foo?{
    ????int?someMethod(String?s)?{
    ????????return?0;
    ????}
    
    ????//?Method?overloading
    ????int?someMethod(String?s,?boolean?b)?{
    ????????return?0;
    ????}}
  • 如果一個(gè)類從另一個(gè)類繼承一個(gè)方法,也會(huì)出現(xiàn)重載:

    class?Bar?extends?Foo?{
    ????//?This?is?also?a?case?of?overloading,?because?Bar?inherits
    ????//?someMethod(String)?from?Foo
    ????int?someMethod(String?s,?double?d,?boolean?b)?{
    ????????return?0;
    ????}}

如果兩種方法都不相關(guān),盡管名稱相同,但它們永遠(yuǎn)不會(huì)被稱為超載

  • 這是兩種非靜態(tài)方法的情況

    class?Alpha?{
    ????void?anotherMethod(String?s)?{?}}class?Bravo?{
    ????//?No?overloading?involved
    ????void?anotherMethod(boolean?b)?{?}}
  • 以及靜態(tài)方法:

    class?Charlie?{
    ????static?void?someThirdMethod(String?s)?{?}}class?Delta?{
    ????//?No?overloading?involved
    ????static?void?someThirdMethod(boolean?b)?{?}}
  • 對(duì)于靜態(tài)成員,如果其中一個(gè)類繼承了另一個(gè),則情況甚至如此:

    class?Echo?{
    ????static?void?lastMethod(String?s)?{?}}class?Foxtrot?extends?Echo?{
    ????//?No?overloading?involved.?Static?members?are?never?inherited,
    ????//?so?effectively,?these?two?methods?are?unrelated
    ????static?void?lastMethod(boolean?b)?{?}}



查看完整回答
反對(duì) 回復(fù) 2019-05-15
  • 2 回答
  • 0 關(guān)注
  • 606 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)