久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Java|Java世界_中文論壇|ChinaJavaWorld技術(shù)論壇 : 有誰知道nul...

 ShangShujie 2006-11-18
Q. How does Java compiler resolve the ambiguity to decide which methods to call?
A:
In the following example, four test() methods, if we pass ambiguous \b{null} to the test, which one should (will) be called? The 3 on top has super/subclass/sub-subclass relationship. The most specific one (down hierarchy) will be called. The 4th with String as a parameter, but it is a sibling of Tester. Ambiguity compile time error results.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Tester {
            void test(Object s)    { System.out.println ("Object version");    }
            void test(Tester s)    { System.out.println ("Tester version");    }
            void test(SubTester s) { System.out.println ("SubTester version"); }
             
            // Not compilable any more if you uncomment the line 
            // since String and Tester are siblings
            // void test(String s) { System.out.println ("String version"); } 
             
            public static void main (String args[]) {
            Tester c = new Tester ();
            // Ambiguous, the most specific one which fit will be call
            c.test (null);         // SubTester version 
            c.test (new Object()); // Object version 
            }
            }
             
            class SubTester extends Tester{
            }
            


引用原文:
Quotation from JLS2

"The informal intuition is that one method declaration is more specific than another if any invocation handled by the first method could be passed on to the other one without a compile-time type error."

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約