¤¿¤á¤Ë¤Ê¤ë¥Û¡¼¥à¥Ú¡¼¥¸ ¤ªÌ䤤¹ç¤ï¤»




TOP > Java > ¥¤¥ó¥Ê¡¼¥¯¥é¥¹
¥¤¥ó¥Ê¡¼¥¯¥é¥¹
¥¯¥é¥¹¤ÎÃæ¤Ë¥¯¥é¥¹¤òÄêµÁ¤¹¤ë¡£¥¤¥ó¥Ê¡¼¥¯¥é¥¹¤Ï¥á¥ó¥Ð¤ÈƱ¤¸¤è¤¦¤Ë°·¤¨¤ë¡£

¥¤¥ó¥Ê¡¼¥¯¥é¥¹¤ÎÎã
class OuterClass{

    //¥¤¥ó¥Ê¡¼¥¯¥é¥¹
    class InnerClass{

    }
}


¥¤¥ó¥Ê¡¼¥¯¥é¥¹¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï¡¢¥¢¥¦¥¿¡¼¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤¬É¬Íס£¥¢¥¦¥¿¡¼¥¯¥é¥¹¤Î¥á¥ó¥Ð¤«¤é¥¤¥ó¥Ê¡¼¥¯¥é¥¹¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï¡¢ÉáÄ̤˥¤¥ó¥Ê¡¼¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤¹¤ì¤Ð¤è¤¤¡£

¥¢¥¦¥¿¡¼¥¯¥é¥¹Æâ¤Ç¥¤¥ó¥Ê¡¼¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹À¸À®¤ÎÎã
class OuterClass{

    //¥¤¥ó¥Ê¡¼¥¯¥é¥¹¤Ë¥¢¥¯¥»¥¹¤¹¤ë¥á¥½¥Ã¥É
    void getInner(){
        InnerClass i = new InnerClass() ;//¥¤¥ó¥Ê¡¼¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹À¸À®
    }

    //¥¤¥ó¥Ê¡¼¥¯¥é¥¹
    class InnerClass{

    }
}


getInner()¥á¥½¥Ã¥É¤ò»ÈÍѤ¹¤ë¤È¤­¤Ë¤Ï¡¢OuterClass¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤¬É¬ÍפʤΤǡ¢¤³¤ÎÎã¤ÏÍ­¸ú¡£(OuterClass¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤ò¸Æ¤Ó½Ð¤µ¤Ê¤¤¤È¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤°Ù¡£)

¼ÂºÝ¤Ë¥¢¥¯¥»¥¹¤·¤Æ¤ß¤ëÎã
class OuterClass{

    void getInner(){
        InnerClass i = new InnerClass() ;
        i.getInner() ;
    }

    //¥¤¥ó¥Ê¡¼¥¯¥é¥¹
    class InnerClass{
        void getInner(){
            System.out.println("Inner Class!") ;
        }
    }
    public static void main(String[] args){
        OuterClass o = new OuterClass() ;
        o.getInner() ;
    }
}


¥¢¥¦¥¿¡¼¥¯¥é¥¹¤Î³°¤Î¥¯¥é¥¹¤äÀÅŪ¥á¥½¥Ã¥ÉÆ⤫¤é¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Æ¥¤¥ó¥Ê¡¼¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤¹¤ëɬÍפ¬¤¢¤ë¡£

¥¢¥¦¥¿¡¼¥¯¥é¥¹¤Î³°¤Î¥¯¥é¥¹¤äÀÅŪ¥á¥½¥Ã¥ÉÆ⤫¤é¥¢¥¯¥»¥¹¤¹¤ëÎã
//OuterClass o = new OuterClass ;//¥¢¥¦¥¿¡¼¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹À¸À®
//OuterClass.InnerClass i = o.new InnerClass() ;//i¤¬¥¤¥ó¥Ê¡¼¥¯¥é¥¹¤ò»²¾È¤¹¤ëÊÑ¿ô
//¤â¤·¤¯¤Ï¡¢
//OuterClass.InnerClass i = new OuterClass().new InnerClass() ;//i¤¬¥¤¥ó¥Ê¡¼¥¯¥é¥¹¤ò»²¾È¤¹¤ëÊÑ¿ô

class OuterClass{
    private int a = 3 ;
    class InnerClass{
        void getInner(){
            System.out.println("Inner Class!") ;
            System.out.println(a) ;
        }
    }
}
class TestMain{
    public static void main(String[] args){
        OuterClass.InnerClass i = new OuterClass().new InnerClass() ;
        i.getInner() ;
    }
}


¥á¥½¥Ã¥ÉÆâ¤Î¥¤¥ó¥Ê¡¼¥¯¥é¥¹
¥á¥½¥Ã¥ÉÆâ¤Ë¤â¥¯¥é¥¹¤òÄêµÁ¤Ç¤­¤ë¡£¤³¤Î¾ì¹ç¡¢¥¯¥é¥¹ÄêµÁľ¸å¤Ë¡¢¥¤¥ó¥Ê¡¼¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹À¸À®¤¬É¬Íפˤʤ롣

¥¢¥¦¥¿¡¼¥¯¥é¥¹¤Î³°¤Î¥¯¥é¥¹¤«¤é¥¢¥¯¥»¥¹¤·¤Æ¤ß¤ëÎã
class Test{
    void getInner(){
        final int a = 2 ;
        class InnerClass{
            void echo(){
                System.out.println(a) ;
                System.out.println("InnerClass") ;
            }
        }
        InnerClass i = new InnerClass() ;
        i.echo() ;
    }
    public static void main(String[] args){
        Test t = new Test() ;
        t.getInner() ;
    }
}


¥á¥½¥Ã¥ÉÆâ¤Î¥í¡¼¥«¥ëÊÑ¿ô¤Ï¡¢finalÀë¸À¤µ¤ì¤¿ÊÑ¿ô¤·¤«»²¾È¤Ç¤­¤Ê¤¤¡£finalÀë¸À¤·¤Æ¤¤¤Ê¤¤¤È¡¢¥³¥ó¥Ñ¥¤¥ë¥¨¥é¡¼¤Ë¤Ê¤ë¡£¤³¤ì¤Ï¡¢¥í¡¼¥«¥ëÊÑ¿ô¤Ï¥á¥½¥Ã¥É¤Î¸Æ¤Ó½Ð¤·¤ÎºÝ¤Ë¤·¤«¥í¡¼¥«¥ëÊÑ¿ô¤Ï¸ºß¤·¤Ê¤¤¤¿¤á¡£

̵̾¥¤¥ó¥Ê¡¼¥¯¥é¥¹
¤¢¤ë¥¯¥é¥¹¤Î̵̾¥µ¥Ö¥¯¥é¥¹¤òÄêµÁ¤·¡¢¤½¤Î¥µ¥Ö¥¯¥é¥¹¤Î¿·¤·¤¤¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤¹¤ë¡£

̵̾¥¤¥ó¥Ê¡¼¥¯¥é¥¹¤ÎÎã
class Test{
     void getTest(){
         System.out.println("Test") ;
     }
}
class Main{
     public static void main(String[] args){
         Test t = new Test() {
             void getTest(){
                 System.out.println("Sub") ;
             }
         } ;
         t.getTest() ;
    }
}


̵̾¥¤¥ó¥Ê¡¼¥¯¥é¥¹¤Ï¿ÂÖÀ­¤¬Æ¯¤¯¤¿¤á(¥ª¥Ö¥¸¥§¥¯¥È·¿¤ò»²¹Í¤Ë¸Æ¤Ó½Ð¤¹¤¿¤á)¡¢°Ê²¼¤Î¥³¡¼¥É¤Ï̵¸ú¡£

̵¸ú¤Ê¥¤¥ó¥Ê¡¼¥¯¥é¥¹¤Î¥¢¥¯¥»¥¹Îã
class Test{
    void getTest(){
        System.out.println("Test") ;
    }
}
class Main{
    public static void main(String[] args){
        Test t = new Test() {//­¡
            void getSub(){
                System.out.println("getSub") ;
            }
            void getTest(){
                System.out.println("getTest") ;
            }
        } ;
        t.getTest() ;
        t.getSub() ;//­¢
   }
}


­¢¤Î¥á¥½¥Ã¥É¤Ï¡¢ÌµÌ¾¥¤¥ó¥Ê¡¼¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤·¤Æ¤¤¤ë¡£¤³¤ì¤Ï¡¢Test¥¯¥é¥¹¤Ë¤Ï¤Ê¤¤Æȼ«¤Î¥á¥½¥Ã¥É¤Ç¤¢¤ë¡£­¡¤Ç¤ÎÀë¸À¤Ç¤Ï¡¢Test·¿¤Î»²¾È¤Ç¤¢¤ê¡¢¼ÂºÝ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤ÏTest·¿¤Ê¤Î¤Ç¥³¥ó¥Ñ¥¤¥ë¥¨¥é¡¼¤Ë¤Ê¤ë¡£

¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¼ÂÁõ
¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥¯¥é¥¹¤ò¼ÂÁõ¤¹¤ë̵̾¥¯¥é¥¹¤òºî¤ë¡£¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î̵̾¼ÂÁõ¥¯¥é¥¹¤Ï°ì¤Ä¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤·¤«¼ÂÁõ¤Ç¤­¤Ê¤¤¡£

¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¼ÂÁõ¤ÎÎã
interface Inter{
    void getInter() ;
}
class Test{
    public static void main(String[] args){
        Inter i = new Inter(){
            public void getInter(){
                System.out.println("¥¤¥ó¥Ê¡¼¥¯¥é¥¹") ;
            }
        } ;
        i.getInter() ;
    }
}


¤³¤Î¥³¡¼¥É¤ÇºîÀ®¤¹¤ë¤Î¤Ï¡¢Inter¤Î̵̾¼ÂÁõ¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¡£ÌµÌ¾¥¤¥ó¥Ê¡¼¥¯¥é¥¹¤Ï¡¢¥¯¥é¥¹¤Î·Ñ¾µ¤È¼ÂÁõ¤òƱ»þ¤Ë¹Ô¤¦»ö¤Ï¤Ç¤­¤Ê¤¤¡£

°ú¿ô°·¤¤¤Î̵̾¥¤¥ó¥Ê¡¼¥¯¥é¥¹
¥á¥½¥Ã¥É¤Î°ú¿ô¤Ë̵̾¥¤¥ó¥Ê¡¼¥¯¥é¥¹¤òÀë¸À¤¹¤ë¡£Î㤨¤Ð¡¢¤¢¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹·¿¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò°ú¿ô¤Ë¤È¤ë¾ì¹ç¤Ç¡¢¤Þ¤À¤³¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¼ÂÁõ¥¯¥é¥¹¤¬¤Ê¤¤¾ì¹ç¡¢¥á¥½¥Ã¥É¤Î°ú¿ôÆâ¤Ç¥¤¥ó¥Ê¡¼¥¯¥é¥¹¡Ê̵̾¤Î¼ÂÁõ¥¯¥é¥¹¡Ë¤òºîÀ®¤·¡¢¤½¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤ò¥á¥½¥Ã¥É¤Î°ú¿ô¤Ë¤¹¤ë¡£

°ú¿ô°·¤¤¤Î̵̾¥¤¥ó¥Ê¡¼¥¯¥é¥¹¤ÎÎã
interface Inter{
    void getInter() ;
}
interface Inter{
    void getInter() ;
}
class Get{
    void get(Inter i){//­¡
        System.out.println("°ú¿ô¤Î¤Ê¤¤¥¤¥ó¥Ê¡¼¥¯¥é¥¹") ;
    }
}

class Test{
    public static void main(String[] args){
        Get g = new Get() ;
        g.get(new Inter(){//­¢
            public void getInter(){
            }
        } ) ;
    }
}


­¡¤Î¥á¥½¥Ã¥É¤ÏInter·¿¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò°ú¿ô¤Ë¼õ¤±¼è¤ë¤¬¡¢Inter¥¯¥é¥¹¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ê¤Î¤Ç¡¢¥¤¥ó¥¹¥¿¥ó¥¹²½¤Ç¤­¤Ê¤¤¡£¤½¤³¤Ç¡¢­¢¤Ç̵̾¤Î¼ÂÁõ¥¯¥é¥¹¤òºîÀ®¤·¡¢°ú¿ô¤È¤·¤Æ¥ª¥Ö¥¸¥§¥¯¥È¤òÅϤ¹¡£¤Á¤Ê¤ß¤Ë¤³¤³¤ÇºîÀ®¤µ¤ì¤ë¥¯¥é¥¹¤Ï¼ÂÁõ¥¯¥é¥¹¤Ê¤Î¤Ç¡¢Á´¤Æ¤Î¥á¥½¥Ã¥É¤Ï¼ÂÁõ¤·¤Ê¤¯¤Æ¤Ï¤¤¤±¤Ê¤¤¡£

ÀÅŪ¥Í¥¹¥È¥¯¥é¥¹
ÀÅŪ¥Í¥¹¥È¥¯¥é¥¹¤Ï¡¢¡Ö¥È¥Ã¥×¥ì¥Ù¥ë¥Í¥¹¥È¥¯¥é¥¹¡×¡ÖÀÅŪ¥¤¥ó¥Ê¡¼¥¯¥é¥¹¡×¤È¤â¸Æ¤Ð¤ì¤ë¡£ÀÅŪ¥¯¥é¥¹¤Ï¡¢Ê̤Υ¯¥é¥¹¤Î¥¹¥³¡¼¥×Æâ¤Ë¤¢¤ëÈ󥤥ó¥Ê¡¼¤Î¥¯¥é¥¹¡£ÀÅŪ¥Í¥¹¥È¥¯¥é¥¹¤Ï¡¢¥¢¥¦¥¿¡¼¥¯¥é¥¹¤È¤Ï´Ø·¸¤¬¤Ê¤¤¤¿¤á¡¢¥¤¥ó¥Ê¡¼¥¯¥é¥¹¤È¤Ï¸À¤¨¤Ê¤¤¡£ÀÅŪ¥Í¥¹¥È¥¯¥é¥¹¤Ï¤¿¤À¤Î¥¢¥¦¥¿¡¼¥¯¥é¥¹¤ÎÀÅŪ¥á¥ó¥Ð¡¼¤Ë¤¹¤®¤Ê¤¤¡£ÀÅŪ¥Í¥¹¥È¥¯¥é¥¹¤Ï¡¢Â¾¤ÎÀÅŪ¥á¥ó¥Ð¡¼¤ÈƱÍͤ˥¤¥ó¥¹¥¿¥ó¥¹¤¬¤Ê¤¯¤Æ¤â¥¢¥¯¥»¥¹¤Ç¤­¤ë¡£

ÀÅŪ¥Í¥¹¥È¥¯¥é¥¹¤ÎÎã
class Test{
    static class Sub{
        static int a = 9 ;
    }

    public static void main(String[] args){
        System.out.println(Sub.a) ;
    }
}


ÀÅŪ¥Í¥¹¥È¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òºîÀ®¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤¹¤ë¡£
¥¢¥¦¥¿¡¼¥¯¥é¥¹.ÀÅŪ¥Í¥¹¥È¥¯¥é¥¹ ¼±ÊÌ»Ò = new ¥¢¥¦¥¿¡¼¥¯¥é¥¹.ÀÅŪ¥Í¥¹¥È¥¯¥é¥¹¤Î¥³¥ó¥¹¥È¥é¥¯¥¿Ì¾ ;

ÀÅŪ¥Í¥¹¥È¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹À¸À®¤ÎÎã
class Test{
    static class Sub{
        int a = 9 ;
    }

    public static void main(String[] args){
        Test.Sub s = new Test.Sub() ;
        System.out.println(s.a) ;
    }
}







Copyright 2007 ¤¿¤á¤Ë¤Ê¤ë¥Û¡¼¥à¥Ú¡¼¥¸ All Rights Reserved.