TOP > Java > ¥á¥½¥Ã¥ÉÀë¸À¤ÈÊÑ¿ôÀë¸À¤È½¤¾þ»Ò |
¥á¥ó¥Ð¡¼
¥á¥½¥Ã¥É¤È¥¤¥ó¥¹¥¿¥ó¥¹¡ÊÈó¥í¡¼¥«¥ë¡ËÊÑ¿ô¤Î¤³¤È¡£¤Á¤Ê¤ß¤Ë¡¢¥á¥½¥Ã¥ÉÆâ¤ÇÀë¸À¤·¤¿ÊÑ¿ô¤ò¥í¡¼¥«¥ëÊÑ¿ô¤È¤¤¤¦¡£
¥¯¥é¥¹´Ö¤¬¥¢¥¯¥»¥¹¤Ç¤¤ë»ö¤¬Á°Äó¤È¤¤¤¿¾å¤Ç¡¢¤¢¤ë¥½¡¼¥¹¥³¡¼¥É¤¬Ê̤Υ¯¥é¥¹¤Î¥á¥ó¥Ð¡¼¤Ë¥¢¥¯¥»¥¹¤Ç¤¤ë¤È¤¤¤¦»ö¤Ï¡¢°Ê²¼¤Î2Ä̤꤬¤¢¤ë¡£
£±¡¥¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤·¤Æ¡¢¥á¥ó¥Ð¡¼¤Ë¥¢¥¯¥»¥¹¤¹¤ë¡£
£²¡¥·Ñ¾µ¤·¤¿¥¯¥é¥¹¤¬·Ñ¾µ¸µ¤Î¥á¥ó¥Ð¡¼¤ò»ÈÍѤ¹¤ë¡£
¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤·¤Æ¡¢¥á¥ó¥Ð¡¼¤Ë¥¢¥¯¥»¥¹¤¹¤ëÎã
class Test{ public String Method(){ return "¥¢¥¯¥»¥¹¤Ç¤¤Þ¤·¤¿¡£" ; } } class TestMain{ void use(){ //¤³¤Î¹Ô¤¬¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¤È¡¢ //TestMemderInstance¤¬test¥¯¥é¥¹¤Ë¥¢¥¯¥»¥¹¤Ç¤¤ë¡£ Test test = new Test() ; //TestMemderInstance¤Ï¥Ç¥Õ¥©¥ë¥È¥á¥½¥Ã¥ÉMethod()¤Ë //¥¢¥¯¥»¥¹¤Ç¤¤ë¤Î¤ÇOK¡ª System.out.println(test.Method()) ; } } ·Ñ¾µ¤·¤¿¥¯¥é¥¹¤¬·Ñ¾µ¸µ¤Î¥á¥ó¥Ð¡¼¤ò»ÈÍѤ¹¤ëÎã
class Super{ public String Method(){ return "¥¢¥¯¥»¥¹¤Ç¤¤Þ¤·¤¿¡£" ; } } class Sub extends Super{ void use(){ //Super¥¯¥é¥¹¤ò·Ñ¾µ¤·¤Æ¤¤¤ë¤Î¤Ç¡¢¤³¤Î¹Ô¤ÏOK¡ª this.Method() ; //¤³¤Î¹Ô¤¬¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤ë¤È¡¢ //Sub¤¬TestMemberSuper¥¯¥é¥¹¤Ë¥¢¥¯¥»¥¹¤Ç¤¤ë¡£ Super s = new Super() ; //Sub¤Ïtest»²¾ÈÊÑ¿ô¤òÄ̤¸¤Æ¡¢Method()¤ò¸Æ¤Ó½Ð¤»¤ë¡£ s.Method() ; } } ¥á¥ó¥Ð¡¼¥¢¥¯¥»¥¹[¥Ñ¥Ö¥ê¥Ã¥¯¥á¥ó¥Ð¡¼(public)]
¥á¥ó¥Ð¡¼ÊÑ¿ô¡¦¥á¥½¥Ã¥É¤Ë¡Öpublic¡×½¤¾þ»Ò¤¬¤Ä¤¤¤Æ¤¤¤ë¤È¡¢Á´¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤«¤é¥¢¥¯¥»¥¹²Äǽ¤È¤Ê¤ë¡£Ã¢¤·¡¢¤½¤Î¥¯¥é¥¹¤¬¸«¤¨¤Æ¤¤¤ë»ö¤¬Á°Äó¾ò·ï¡£
°Û¤Ê¤ë¥Ñ¥Ã¥±¡¼¥¸´Ö¤ÎÎã
package cat ; public class Cat{ public void method(){ System.out.println("public¥á¥ó¥Ð¡¼¤Ê¤Î¤Ç¥¢¥¯¥»¥¹¤Ç¤¤Þ¤¹¡£") ; } } package dog ; import cat.* ; public class Dog{ public static void main(String[] args){ Cat test = new Cat() ; test.method() ; } } ·Ñ¾µ¤Ë¤è¤ëÎã
package supered ; public class Super{ public String method(){ return "public¥á¥ó¥Ð¡¼¤Ê¤Î¤Ç¥¢¥¯¥»¥¹¤Ç¤¤Þ¤¹¡£" ; } } package subed ; import supered.* ; public class Sub extends Super{ public void use(){ //TestMemberPublicSuper¤ò·Ñ¾µ¤·¤Æ¤¤¤ë¤Î¤Ç¡¢ //¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤»¤º¤ËľÀÜmethod()¤Ë¥¢¥¯¥»¥¹¤Ç¤¤ë¡£ //¤Á¤Ê¤ß¤Ëthis½¤¾þ»Ò¤Ï¤³¤Î¾ì¹ç¤Ê¤¯¤Æ¤â¤è¤¤¡£ System.out.println(this.method()) ; } } //¼Â¹Ô¥Õ¥¡¥¤¥ë package subed ; public class Test{ public static void main(String[] args){ //¤³¤ÎTest¤Ï¥µ¥Ö¥¯¥é¥¹¤Ç¤Ê¤¤¤Î¤Ç¡¢Sub¤Î¥¤¥ó¥¹¥¿¥ó¥¹À¸À®¤¬É¬Íפˤʤ롣 Sub s = new Sub() ; s.use() ; } } ¥á¥ó¥Ð¡¼¥¢¥¯¥»¥¹[¥×¥é¥¤¥Ù¡¼¥È¥á¥ó¥Ð¡¼(private)]
private¤ÇÀë¸À¤µ¤ì¤¿¥á¥ó¥Ð¡¼¤Ï¡¢¤½¤Î¥¯¥é¥¹°Ê³°¤Î¥¯¥é¥¹¤Î¥³¡¼¥É¤«¤é¥¢¥¯¥»¥¹¤¹¤ë»ö¤Ï¤Ç¤¤Ê¤¤¡£¤Þ¤¿¡¢private½¤¾þ»Ò¤ÎÉÕ¤¤¤Æ¤¤¤ë¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤â¡¢¥µ¥Ö¥¯¥é¥¹¤Ç»ÈÍѤǤ¤Ê¤¤¡£
¡Öprivate¥á¥½¥Ã¥É¤ò¥µ¥Ö¥¯¥é¥¹¤Ï·Ñ¾µ¤Ç¤¤Ê¤¤¡×¡á¡Ö¥á¥½¥Ã¥É¤Î¥ª¡¼¥Ð¡¼¥é¥¤¥É¤â¤Ç¤¤Ê¤¤¡×
¥µ¥Ö¥¯¥é¥¹Æâ¤Ç¡¢¥á¥½¥Ã¥É¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ëÍͤˤߤ¨¤ë¤¬¡¢¼ÂºÝ¤Ï¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤Ï¤Ê¤¯¡¢¿·¤·¤¯¥á¥½¥Ã¥É¤òÀë¸À¤·¤Æ¤¤¤ë¤À¤±¤Ç¤¢¤ë¡£
private¤¬ÉÕ¤¤¤Æ¤¤¤ë¥á¥ó¥Ð¡¼¤Ë¥¢¥¯¥»¥¹¤·¤Æ¤ß¤ëÎã
package cat ; public class Cat{ private int add(int a , int b){ return (a + b) ; } } package dog ; import cat.* ; public class Dog{ int c ; Cat cat = new Cat() ; public void use(){ c = cat.add(1 , 3) ;//¢¨ } } Cat¥¯¥é¥¹Æâ¤Î¡Öadd()¡×¥á¥½¥Ã¥É¤Ïprivate½¤¾þ»Ò¤¬ÉÕ¤¤¤Æ¤¤¤ë¤Î¤Ç¡¢Æ±°ì¥¯¥é¥¹(¤¹¤Ê¤ï¤Á¡¢CatÆâ)¤Ç¤Î¤ß¥¢¥¯¥»¥¹¤Ç¤¤ë¡£¤è¤Ã¤Æ¡¢¡Ö¢¨¡×¤Ç¥³¥ó¥Ñ¥¤¥ë¥¨¥é¡¼¤¬µ¯¤¤ë¡£
¥µ¥Ö¥¯¥é¥¹¤¬¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤Îprivate½¤¾þ»Ò¤ÎÉÕ¤¤¤Æ¤¤¤ë¥á¥ó¥Ð¡¼¤Ë¥¢¥¯¥»¥¹¤·¤Æ¤ß¤ëÎã
class Super{ private int add(int a , int b) { return (a + b) ; } } public class Sub extends Super{ void use(){ System.out.println(add(1 , 2)) ;//¢¨ } } ¥¯¥é¥¹´ÖƱ»Î¤Ï¥¢¥¯¥»¥¹¤Ç¤¤ë¤¬¡¢Super¥¯¥é¥¹¤Îprivate¥á¥½¥Ã¥É¤Ï·Ñ¾µ¤Ç¤¤Ê¤¤¤Î¤Ç¡Ö¢¨¡×¤Ç¥³¥ó¥Ñ¥¤¥ë¥¨¥é¡¼¤¬µ¯¤¤ë¡£
¥á¥ó¥Ð¡¼¥¢¥¯¥»¥¹[¥Ç¥Õ¥©¥ë¥È¥á¥ó¥Ð¡¼¤È¥×¥í¥Æ¥¯¥È¥á¥ó¥Ð¡¼(protected)]
¤Û¤È¤ó¤É¤³¤Î2¤Ä¤Ë°ã¤¤¤Ï¤Ê¤¤¡£¥Ç¥Õ¥©¥ë¥È¥á¥ó¥Ð¡¼¤È¥×¥í¥Æ¥¯¥È¥á¥ó¥Ð¡¼¤Ï¡¢Æ±°ì¥Ñ¥Ã¥±¡¼¥¸¤Î¤ß¥¢¥¯¥»¥¹¤Ç¤¤ë¡£Í£°ì¤Î°ã¤¤¤Ï¡¢¥×¥í¥Æ¥¯¥È¥á¥ó¥Ð¡¼¤Ï¡Ö¾¥Ñ¥Ã¥±¡¼¥¸¤Î¥×¥í¥Æ¥¯¥È¥á¥ó¥Ð¡¼¤ò¥µ¥Ö¥¯¥é¥¹¤Ç·Ñ¾µ¤òÄ̤¸¤Æ¥¢¥¯¥»¥¹¤Ç¤¤ë¤³¤È¡£¡×
Ʊ°ì¥Ñ¥Ã¥±¡¼¥¸Æâ¤Î¥Ç¥Õ¥©¥ë¥È¥¢¥¯¥»¥¹¤ÎÎã
class Dog{ void echo(){ System.out.println("I am a dog") ; } } public class Cat{ public static void main(String[] args){ Dog dog = new Dog() ; dog.echo() ; } } Ʊ°ì¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ê¤Î¤Ç¥¢¥¯¥»¥¹¤Ç¤¤ë¡£¤Á¤Ê¤ß¤ËDog¥¯¥é¥¹¤Îecho()¥á¥½¥Ã¥É¤Ë¡Öprotected¡×¤òÉÕ¤±¤Æ¤â·ë²Ì¤ÏƱ¤¸¡£
°Û¤Ê¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î¥Ç¥Õ¥©¥ë¥È¥¢¥¯¥»¥¹¤ÎÎã
package Dog ; public class Dog{ void echo(){ System.out.println("I am a Dog") ; } } package cat ; import dog.* ; public class Cat{ public static void main(String[] args){ Dog d = new Dog() ; d.echo() ;//¤³¤³¤Ç¥³¥ó¥Ñ¥¤¥ë¤Ç¤¤Ê¤¤¡£ } } ¤³¤ÎÎã¤Ç¤Ï¡¢¤ª¸ß¤¤¤Î¥¯¥é¥¹´ÖƱ»Î¤Ïpublic¤Ê¤Î¤Ç¥¢¥¯¥»¥¹¤Ç¤¤ë¡£¤¬¡¢Dog¥¯¥é¥¹¤Î¥á¥½¥Ã¥Éecho()¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¥¢¥¯¥»¥¹¤Ê¤Î¤ÇƱ°ì¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ç¤Ê¤¤¤È¥¢¥¯¥»¥¹¤Ç¤¤Ê¤¤¡£¤è¤Ã¤Æ¡¢¤³¤ÎÎã¤Ï¥³¥ó¥Ñ¥¤¥ë¤Ç¤¤Ê¤¤¡£¤Á¤Ê¤ß¤Ë¥á¥½¥Ã¥Éecho()¤ò¥×¥í¥Æ¥¯¥È(protected)¤ËÊѹ¹¤·¤Æ¤â¥³¥ó¥Ñ¥¤¥ë¤Ç¤¤Ê¤¤¡£
Ʊ°ì¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ç¤Î¥¯¥é¥¹¤Î·Ñ¾µ¡Ê¥Ç¥Õ¥©¥ë¥È¥¢¥¯¥»¥¹¡Ë¤ÎÎã
class Super{ int a = 9 ; } public class Sub extends Super{ void echo(){ System.out.println(a) ;//¡ } public static void main(String[] args){ Sub s = new Sub() ; s.echo() ; Super s2 = new Super() ; System.out.println(s2.a) ;//¢ } } ¡¤Ï·Ñ¾µ¤·¤¿¥á¥ó¥Ð¡¼ÊÑ¿ô¤ò»È¤Ã¤Æ¤¤¤ë¡£¢¤Ï¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤·¡¢¥¢¥¯¥»¥¹¤·¤Æ¤¤¤ë¡£¤Á¤Ê¤ß¤Ë¡¢¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤Î¥á¥ó¥Ð¡¼ÊÑ¿ô¤ò¡Öprotected¡×¤Ë¤«¤¨¤Æ¤â·ë²Ì¤ÏƱ¤¸¡£
¾¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ç¤Î¥¯¥é¥¹¤Î·Ñ¾µ¡Ê¥Ç¥Õ¥©¥ë¥È¥¢¥¯¥»¥¹¡Ë¤ÎÎã
package supered ; public class Super{ int a = 9 ; } package subed ; import supered.* ; public class Sub extends Super{ void echo(){ System.out.println(a) ;//¡ } public static void main(String[] args){ Sub s = new Sub() ; s.echo() ; Super s2 = new Super() ; System.out.println(s2.a) ;//¢ } } ¡¤Ï·Ñ¾µ¤·¤¿¥á¥ó¥Ð¡¼ÊÑ¿ô¤ò»È¤Ã¤Æ¤¤¤ë¡£¢¤Ï¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤·¡¢¥¢¥¯¥»¥¹¤·¤Æ¤¤¤ë¡£¤Á¤Ê¤ß¤Ë¡¢¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤Î¥á¥ó¥Ð¡¼ÊÑ¿ô¤ò¡Öprotected¡×¤Ë¤«¤¨¤Æ¤â·ë²Ì¤ÏƱ¤¸¡£
¾¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ç¤Î¥¯¥é¥¹¤Î·Ñ¾µ¡Ê¥Ç¥Õ¥©¥ë¥È¥¢¥¯¥»¥¹¡Ë¤ÎÎã
package supered ; public class Super{ int a = 9 ; } package subed ; import supered.* ; public class Sub extends Super{ void echo(){ System.out.println(a) ;//¡ } public static void main(String[] args){ Sub s = new Sub() ; s.echo() ; Super s2 = new Super() ; System.out.println(s2.a) ;//¢ } } ¡¤Ç¥³¥ó¥Ñ¥¤¥ë¤Ç¤¤Ê¤¤¡£Â¾¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤Î¥Ç¥Õ¥©¥ë¥È¥á¥ó¥Ð¡¼¤ò¥µ¥Ö¥¯¥é¥¹¤Ï·Ñ¾µ¤Ç¤¤Ê¤¤¡£¢¤â¥³¥ó¥Ñ¥¤¥ë¤Ç¤¤Ê¤¤¡£Â¾¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥¹¡¼¥Ñ¡¼¥¯¥é¥¹¤Î¥Ç¥Õ¥©¥ë¥È¥á¥ó¥Ð¡¼¤ò¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô(s)¤òÄ̤·¤Æ¥¢¥¯¥»¥¹¤Ç¤¤Ê¤¤¡£¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¥á¥ó¥Ð¡¼¤òprotected¤Ë¤¹¤ë¤È¤É¤¦¤Ê¤ë¤«¡©¼¡¤ÎÎã¤ò¸«¤Æ²¼¤µ¤¤¡£
¾¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ç¤Î¥¯¥é¥¹¤Î·Ñ¾µ¡Ê¥×¥í¥Æ¥¯¥È¥¢¥¯¥»¥¹¡Ë¤ÎÎã
package supered ; public class Super{ protected int a = 9 ;//protectd¤ËÊѹ¹ } package subed ; import supered.* ; public class Sub extends Super{ void echo(){ System.out.println(a) ;//¡ } public static void main(String[] args){ Sub s = new Sub() ; s.echo() ; Super s2 = new Super() ; System.out.println(s2.a) ;//¢ } } ¤³¤Î¥³¡¼¥É¤Ï¢¤Ç¥³¥ó¥Ñ¥¤¥ë¤Ç¤¤Ê¤¤¡£protected½¤¾þ»Ò¤¬¤Ä¤¤¤Æ¤¤¤ë¥á¥ó¥Ð¡¼¤Ï¾¥Ñ¥Ã¥±¡¼¥¸¤Î¾ì¹ç¡¢·Ñ¾µ¤òÄ̤¸¤Æ¤Ï»ÈÍѤǤ¤ë¤¬¡¢»²¾ÈÊÑ¿ô¤ò»ÈÍѤ·¤Æ¥¢¥¯¥»¥¹¤¹¤ë»ö¤Ï¤Ç¤¤Ê¤¤¡£
¾¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ç¤Î¥¯¥é¥¹¤Î·Ñ¾µ¤·¤¿¥á¥ó¥Ð¡¼¤ò¾¤Î¥¯¥é¥¹¤«¤é¥¢¥¯¥»¥¹¤·¤Æ¤ß¤ë¡Ê¥×¥í¥Æ¥¯¥È¥¢¥¯¥»¥¹¡Ë¤ÎÎã
package supered ; public class Super{ protected int a = 9 ;//protectd¤ËÊѹ¹ } package subed ; import supered.* ; class Sub extends Super{ } class Test{ public static void main(String[] args){ Sub s = new Sub() ; System.out.println(s.a) ;//¢¨ } } ¤³¤ÎÎã¤Ï¥³¥ó¥Ñ¥¤¥ë¤Ç¤¤Ê¤¤¡£Sub¥¯¥é¥¹¤Ç·Ñ¾µ¤·¤¿¥á¥ó¥Ð¡¼ÊÑ¿ô¡Öa¡×¤Ï¡¢Sub¥¯¥é¥¹Æâ¤Ç¤Ï»ÈÍѤǤ¤ë¤¬¡¢·Ñ¾µ¤·¤¿¥á¥ó¥Ð¡¼¤ÏÁ´¤Æ¡Öprivate¡×¥¢¥¯¥»¥¹¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£¤è¤Ã¤Æ¡¢¤½¤Îprivate¥á¥ó¥Ð¡¼¡Öa¡×¤Ë¥¢¥¯¥»¥¹¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¢¨¤Ç¥³¥ó¥Ñ¥¤¥ë¥¨¥é¡¼¤¬µ¯¤¤ë¡£
¥í¡¼¥«¥ëÊÑ¿ô¤È¥¢¥¯¥»¥¹½¤¾þ»Ò
¥í¡¼¥«¥ëÊÑ¿ô¤Ë¥¢¥¯¥»¥¹½¤¾þ»Ò¤ÏÉÕ¤±¤ì¤Þ¤»¤ó¡£Í£°ìÉÕ¤±¤é¤ì¤ë½¤¾þ»Ò¤Ï¡¢¡Öfinal¡×¤Î¤ß¡£
final¥á¥½¥Ã¥É
¥á¥½¥Ã¥É¤ò¥µ¥Ö¥¯¥é¥¹¤Ç¥ª¡¼¥Ð¡¼¥é¥¤¥É¤Ç¤¤Ê¤¯¤¹¤ë¤Î¤Ë»ÈÍÑ¡£API¤ÎÃæ¤Ë¤Ï¡¢final¥á¥½¥Ã¥É¤¬Â¿¤¤¡£
final¥á¥½¥Ã¥É¤ÎÎã
class Super{ final void echo(){//final¥á¥½¥Ã¥É System.out.println("Final") ; } } class Test extends Super{//·Ñ¾µ void echo(){//¥ª¡¼¥Ð¡¼¥é¥¤¥É System.out.println("final") ; } } final¥á¥½¥Ã¥É¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤è¤¦¤È¤¹¤ë¤È¡¢¥³¥ó¥Ñ¥¤¥ë¤Ç¤¤Ê¤¤¡£
final°ú¿ô
¥á¥½¥Ã¥É¤Î°ú¿ô¤òfinal¤Ç»ØÄê¡£final¤Ç»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê¤³¤ÎÊÑ¿ô¤Ï¡¢Êѹ¹¤Ç¤¤Ê¤¯¤Ê¤ë¡£¤Á¤Ê¤ß¤Ë°ú¿ô¤Ï¥í¡¼¥«¥ëÊÑ¿ô¤Ê¤Î¤Ç¥á¥½¥Ã¥ÉÆâ¤Ç¤·¤«»È¤¨¤Ê¤¤¡£
final°ú¿ô¤ÎÎã
class Test{ int add(int a, final int b){//b¤Ïfinal°ú¿ô a = a + 3 ; b = b + 3 ;//b¤Ïfinal°ú¿ô¤Ê¤Î¤ÇÊѹ¹¤Ç¤¤Ê¤¤¡£¢¨ return (a + b) ; } public static void main(String[] args){ Test t = new Test() ; System.out.println(t.add(2, 3)) ; System.out.println(t.add(2, 5)) ; } } final°ú¿ô¤ÎÃͤÏÊѹ¹¤Ç¤¤Ê¤¤¡£¤Ê¤Î¤Ç¤³¤Î¥½¡¼¥¹¤Ï¥³¥ó¥Ñ¥¤¥ë¤Ç¤¤Ê¤¤¡£¢¨¤òºï½ü¤¹¤ì¤Ð¡¢¥³¥ó¥Ñ¥¤¥ë¤Ç¤¤ë¡£
abstract(Ãê¾Ý)¥á¥½¥Ã¥É
Ãê¾Ý¥á¥½¥Ã¥É¤Ï¡¢¡ÖÃê¾Ý¥¯¥é¥¹¡×¡Ö¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡×¥¯¥é¥¹¤Ç¤Î¤ß»È¤¨¤ë¡£¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥¯¥é¥¹¤Ç¤Ï°ÅÌÛŪ¤ËÃê¾Ý¥á¥½¥Ã¥É¤È¤Ê¤ë¤Î¤Ç¡¢abstract½¤¾þ»Ò¤Ï¾Êά¤Ç¤¤ë¡£Ãí°Õ¤·¤Ê¤¯¤Æ¤Ï¤¤¤±¤Ê¤¤¤Î¤Ï¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤Ê¤¯¤Æ¡¢¥¯¥é¥¹Æâ¤ËÃê¾Ý¥á¥½¥Ã¥É¤¬¤¢¤Ã¤¿¾ì¹ç¤Ï¡¢¤½¤Î¥¯¥é¥¹¤ÏÃê¾Ý¥¯¥é¥¹¤È¤Ê¤ë¤Î¤Ç¡¢É¬¤º¥¯¥é¥¹¤Î½¤¾þ»Ò¤Ëabstract¤ò¤Ä¤±¤ë¡£
Ãê¾Ý¥á¥½¥Ã¥É¤ÏÉÔ´°Á´¤Ê¥á¥½¥Ã¥É¤Ê¤Î¤Ç¡¢Ìá¤êÃÍ¡¦¥á¥½¥Ã¥É̾¡¦°ú¿ô¤ò»ØÄꤷ¡¢´Ø¿ô¤Ï½ñ¤«¤º¤Ë¥»¥ß¥³¥í¥ó¤Ç½ª¤ï¤é¤»¤ë¡£
Ãê¾Ý¥á¥½¥Ã¥É¤Ï¼ÂÁõ¤òÁ°Äó¤È¤·¤Æ¤¤¤ë¤Î¤Ç¡¢¼ÂÁõ¤Ë´ØÏ¢¤¹¤ë½¤¾þ»Ò¡Ösynchronized¡×¡Östatic¡×¡Önative¡×¡Östrictfp¡×¤È¤Î»ÈÍѤâ¤Ç¤¤Ê¤¤¡£¤Þ¤¿¡¢¼ÂÁõ¤òÁ°Äó¤È¤·¤Æ¤¤¤ë¤Î¤Ç¡¢¡Öfinal¡×¤È¤âÊ»ÍѤǤ¤Ê¤¤¡£
synchronized(Ʊ´ü)¥á¥½¥Ã¥É
¥á¥½¥Ã¥É¤Ësynchronized¥¡¼¥ï¡¼¥É¤¬ÉÕ¤±¤ë»ö¤Ë¤è¤ê¡¢¤½¤Î¥á¥½¥Ã¥É¤Ë¤Ï°ì¤Ä¤Î¥¹¥ì¥Ã¥É¤·¤«¥¢¥¯¥»¥¹¤Ç¤¤Ê¤¯¤Ê¤ë¡£Æ±´ü¥á¥½¥Ã¥É¤Ï¡¢4¤Ä¤Î¥¢¥¯¥»¥¹¥ì¥Ù¥ë¤¬»ÈÍѤǤ¡¢final¤È¤âÊ»ÍѤǤ¤ë¡£
native(¥Í¥¤¥Æ¥£¥Ö)¥á¥½¥Ã¥É
native½¤¾þ»Ò¤¬¤Ä¤¤¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Ï¡¢¤½¤Î¥á¥½¥Ã¥É¤¬¥×¥é¥Ã¥È¥Õ¥©¡¼¥à°Í¸¤Î¸À¸ì(C¤Ê¤É)¤Ç¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë»ö¤òɽ¤¹¡£
strictfp¥á¥½¥Ã¥É
strictfp½¤¾þ»Ò¤¬ÉÕ¤¤¤Æ¤¤¤ë¥á¥½¥Ã¥É¤Ï¡¢ÉâÆ°¾®¿ôÅÀ¤òIEEE754ɸ½à¤Ë½àµò¤µ¤»¤ë¤¿¤á¤Î¤â¤Î¡£¥¯¥é¥¹Á´ÂΤˤâ»È¤¨¤ë¡£
finalÊÑ¿ô
final¤ÇÀë¸À¤µ¤ì¤¿¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô(¥á¥ó¥Ð¡¼ÊÑ¿ô)¤Ï¡¢¤½¤ÎÊÑ¿ô¤òÌÀ¼¨Åª¤ÊÃͤǽé´ü²½¤·¤¿¸å¤ËºÆ¤Ó½é´ü²½¤¹¤ë»ö¤Ï¤Ç¤¤Ê¤¯¤Ê¤ë¡£¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤òfinal¤ÈÀë¸À¤·¤¿¾ì¹ç¤Ï¡¢¥³¥ó¥¹¥È¥é¥¯¥¿½ªÎ»»þ¤Þ¤Ç¤ËÌÀ¼¨Åª¤ÊÃͤò³ä¤êÅö¤Æ¤ëɬÍפ¬¤¢¤ë¡£
finalÊÑ¿ô¤ò½é´ü²½¤·¤Ê¤¤Îã
class Super{ final int a ;//¡ } class Test{ public static void main(String[] args){ Super s = new Super() ; } } ¡¤ÏfinalÊÑ¿ô¤Ê¤Î¤Ç¡¢½é´ü²½¤·¤Ê¤¤¤È¥³¥ó¥Ñ¥¤¥ë¥¨¥é¡¼¤Ë¤Ê¤ë¡£
finalÊÑ¿ô¤ò½é´ü²½¤¹¤ëÎã
class Super{ final int a ; //¥³¥ó¥¹¥È¥é¥¯¥¿ Super(){ a = 3 ;//½é´ü²½ } } class Test{ public static void main(String[] args){ Super s = new Super() ; System.out.println(s.a) ; } } finalÊÑ¿ô¤ËºÆÂåÆþ¤¹¤ëÎã
class Super{ final int a ; //¥³¥ó¥¹¥È¥é¥¯¥¿ Super(){ a = 3 ;//½é´ü²½ } //ºÆÂåÆþ¥á¥½¥Ã¥É int method() { a = 5 ; } } class Test{ public static void main(String[] args){ Super s = new Super() ; s.method() ; System.out.println(s.a) ; } } ¥á¥½¥Ã¥Émethod()¤ÏfinalÊÑ¿ô¡Öa¡×¤ËºÆÂåÆþ¤ò¹Ô¤ª¤¦¤È¤·¤Æ¤¤¤ë¡£¤³¤³¤Ç¥³¥ó¥Ñ¥¤¥ë¥¨¥é¡¼¤¬µ¯¤¤ë¡£
transientÊÑ¿ô
¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤òtransient¤ÈÀë¸À¤¹¤ë¤È¡¢¤½¤ÎÊÑ¿ô¤òÀë¸À¤·¤Æ¤¤¤ë¥ª¥Ö¥¸¥§¥¯¥È¤ò¤òľÎ󲽤·¤è¤¦¤È¤·¤¿»þ¡¢¤½¤ÎÊÑ¿ô¤ò¥¹¥¥Ã¥×¡Ê̵»ë¡Ë¤¹¤ë¤è¤¦¤Ë¡¢JVM¤Ë»Ø¼¨¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£¤³¤Î½¤¾þ»Ò¤Ï¡¢ÊÑ¿ô¤Î¤ß¤Ë»ÈÍѤǤ¤ë¡£
volatileÊÑ¿ô
¥í¡¼¥«¥ëÊÑ¿ô
¥í¡¼¥«¥ëÊÑ¿ô¤È¤Ï¡¢¥á¥½¥Ã¥ÉÆâ¤ÇÀë¸À¤µ¤ì¤¿ÊÑ¿ô¤Î¤³¤È¡£É¬¤º½é´ü²½¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤È°ã¤¤¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤò¤È¤é¤Ê¤¤¤«¤é¤Ç¤¢¤ë¡£¥í¡¼¥«¥ëÊÑ¿ô¤Ï¡¢¥á¥½¥Ã¥ÉÆâ¤ÇÀ¸¤Þ¤ì¥á¥½¥Ã¥É½ªÎ»»þ¤Ë¾ÃÌǤ¹¤ë¡£¥í¡¼¥«¥ëÊÑ¿ô¼«ÂΤϥҡ¼¥×¾å¤ËÃÖ¤«¤ì¤ë»ö¤Ï¤Ê¤¤¡£¥¹¥¿¥Ã¥¯¾å¤Ë¸ºß¤¹¤ë¤Î¤Ç¤¢¤ë¡£
¥í¡¼¥«¥ëÊÑ¿ô¤¬¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¼«ÂΤϥҡ¼¥×¾å¤Ë¸ºß¤¹¤ë¡£
¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤ÈƱ¤¸Ì¾Á°¤òÉÕ¤±¤ë»ö¤¬¤Ç¤¤ë¡£¤³¤ì¤ò¥·¥ã¥É¥¦²½¤È¤¤¤¦¡£
¥í¡¼¥«¥ëÊÑ¿ô¤Ë»ÈÍѤǤ¤ë½¤¾þ»Ò¤Ï¡¢¡Öfinal¡×¤Î¤ß¤Ç¤¢¤ë¡£
¥·¥ã¥É¥¦²½¤ÎÎã
class Super{ int height = 178 ; void getHeight(int height){//¥·¥ã¥É¥¦²½ height = height ; } } class Test{ public static void main(String[] args){ Super s = new Super() ; s.getHeight(180) ; System.out.println(s.height) ;//¡ } } ¤³¤ÎÎã¤Ï¡¢¸í¤ê¡£¥³¥ó¥Ñ¥¤¥ë¡¢¼Â¹Ô¤Ï¤Ç¤¤ë¤¬¡Öheight = height¡×¤¬¤É¤Îheight¤ò»Ø¤·¤Æ¤¤¤ë¤«¤ï¤«¤é¤Ê¤¤¡£¤³¤ÎÎã¤ò¼Â¹Ô¤¹¤ë¤È¡¢¡¤Ï178¤òɽ¼¨¤¹¤ë¡£¤¹¤Ê¤ï¤Á¡¢¥í¡¼¥«¥ëÊÑ¿ô¤Ë180¤òÂåÆþ¤·¤¿¤À¤±¡ª¤È¤¤¤¦»ö¤Ë¤Ê¤ë¡£
ÂåÆþÀè¤ò¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤Ë¤¹¤ë¤Ë¤Ï¡¢º¸ÊÕ¤Îheight¤¬¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹¤Ë¤Ï¡¢¥¡¼¥ï¡¼¥Éthis¤ò»ÈÍѤ¹¤ì¤Ð¤è¤¤¡£
¤¹¤Ê¤ï¤Á¡¢this.height = height ;
|
Copyright 2007 ¤¿¤á¤Ë¤Ê¤ë¥Û¡¼¥à¥Ú¡¼¥¸ All Rights Reserved. |