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. |