JAVA¹æ·¶Ñ§Ï°——static³ÉÔ±³õʼ»¯
class Super { static int taxi = 1729; }
class Sub extends Super {
static { System.out.print("Sub "); }
}
class Test {
public static void main(String[] args) {
System.out.println(Sub.taxi);
}
}
Êä³ö£º1729
֪ʶҪµã£º
A reference to a class field causes initialization of only the class or interface
that actually declares it, even though it might be referred to through the name of a
subclass, a subinterface, or a class that implements an interface.
Ò²¾ÍÊÇ˵ֻÓÐʹÓøÃÀà»òÕß½Ó¿ÚÖ±½Ó¶¨ÒåµÄÀà±äÁ¿£¬²Å»á¼¤·¢¸ÃÀàµÄ³õʼ»¯£»Èç¹ûʹÓõÄÊÇÆä¸¸ÀඨÒåµÄÀà±äÁ¿£¬Ôò×ÓÀ಻»á±»³õʼ»¯
interface I {
int i = 1, ii = Test.out("ii", 2);
}
interface J extends I {
int j = Test.out("j", 3), jj = Test.out("jj", 4);
}
interface K extends J {
int k = Test.out("k", 5);
}
class Test {
public static void main(String[] args) {
System.out.println(J.i);
System.out.println(K.j);
}
static int out(String s, int i) {
System.out.println(s + "=" + i);
return i;
}
}
Êä³ö£º
1
j=3
jj=4
3
֪ʶҪµã£º
Initialization of an interface does not, of itself, cause initialization of any of its
superinterfaces.
The reference to J.i is to a field that is a compile-time constant; therefore, it
does not cause I to be initialized. The reference to K.j is a reference to a field
actually declared in interface J that is not a compile-time constant; this causes initialization
of the fields of interface J, but not those of its superinterface I, nor
those of interface K. Despite the fact that the name K is used to refer to field j of
interface J, interface K is not initialized.
Ïà¹ØÎĵµ£º
Java 6 RowSet ʹÓÃÍêÈ«ÆÊÎö
C# ÌṩÁË DataSet£¬¿ÉÒÔ½«Êý¾ÝÔ´ÖеÄÊý¾Ý¶ÁÈ¡µ½ÄÚ´æÖУ¬½øÐÐÀëÏß²Ù×÷£¬È»ºóÔÙͬ²½µ½Êý¾ÝÔ´¡£Í¬Ñù£¬ÔÚ Java ÖÐÒ²ÌṩÁËÀàËÆµÄʵÏÖ£¬¼´ RowSet¡£javax.sql.rowset °üÏ£¬¶¨ÒåÁËÎå¸ö²»Í¬µÄ RowSet ½Ó¿Ú£¬¹©²»Í¬µÄ³¡ºÏʹÓᣱ¾ÎĽ«·Ö±ð¶ÔÕâÎå¸ö RowSet µÄʹÓó¡ºÏÒÔ¼°Ï꾡Ó÷¨½øÐнéÉÜ£¬²¢ÇÒÃèÊöÊ ......
Ò»¡¢Annotation¾¿¾¹ÊÇʲô£¿
Annotation ÌṩÁËÒ»ÌõÓë³ÌÐòÔªËØ¹ØÁªÈκÎÐÅÏ¢»òÕßÈκÎÔªÊý¾Ý£¨metadata£©µÄ;¾¶¡£´ÓijЩ·½Ãæ¿´£¬annotation¾ÍÏñÐÞÊηûÒ»Ñù±»Ê¹Ó㬲¢Ó¦ÓÃÓÚ°ü¡¢ÀàÐÍ¡¢¹¹Ôì·½·¨¡¢·½·¨¡¢³ÉÔ±±äÁ¿¡¢²ÎÊý¡¢±¾µØ±äÁ¿µÄÉùÃ÷ÖС£ÕâЩÐÅÏ¢±»´æ´¢ÔÚannotationµÄ“name=value”½á¹¹¶ÔÖÐ ......
JAVA·´Éä»úÖÆ
JAVA·´Éä»úÖÆÊÇÔÚÔËÐÐ״̬ÖУ¬¶ÔÓÚÈÎÒâÒ»¸öÀ࣬¶¼Äܹ»ÖªµÀÕâ¸öÀàµÄËùÓÐÊôÐԺͷ½·¨£»¶ÔÓÚÈÎÒâÒ»¸ö¶ÔÏ󣬶¼Äܹ»µ÷ÓÃËüµÄÈÎÒâÒ»¸ö·½·¨£»ÕâÖÖ¶¯Ì¬»ñÈ¡µÄÐÅÏ¢ÒÔ¼°¶¯Ì¬µ÷ÓöÔÏóµÄ·½·¨µÄ¹¦ÄܳÆÎªjavaÓïÑԵķ´Éä»úÖÆ¡£
Java·´Éä»úÖÆÖ÷ÒªÌṩÁËÒÔϹ¦ÄÜ£º ÔÚÔËÐÐʱÅжÏÈÎÒâÒ»¸ö¶ÔÏóËùÊô ......
JAVAÏà¹Ø»ù´¡ÖªÊ¶
1¡¢ÃæÏò¶ÔÏóµÄÌØÕ÷ÓÐÄÄЩ·½Ãæ
1.³éÏó£º
³éÏó¾ÍÊǺöÂÔÒ»¸öÖ÷ÌâÖÐÓ뵱ǰĿ±êÎ޹صÄÄÇЩ·½Ã棬ÒÔ±ã¸ü³ä·ÖµØ×¢ÒâÓ뵱ǰĿ±êÓйصķ½Ãæ¡£³éÏó²¢²»´òËãÁ˽âÈ«²¿ÎÊÌ⣬¶øÖ»ÊÇÑ¡ÔñÆäÖеÄÒ»²¿·Ö£¬ÔÝʱ²»Óò¿·Öϸ½Ú¡£³éÏó°üÀ¨Á½¸ö·½Ã棬һÊǹý³Ì³éÏ󣬶þÊÇÊý¾Ý³éÏó¡£
2.¼Ì³Ð£º
¼Ì³ÐÊÇÒ»ÖÖÁª½áÀàµÄ²ã´ÎÄ£ÐÍ£¬²¢ ......