JavaÄÚ²¿ÀࣨInner Class£©
¼òµ¥µÄ˵£¬ÄÚ²¿£¨inner£©ÀàÖ¸ÄÇЩÀඨÒå´úÂë±»ÖÃÓÚÆäËüÀඨÒåÖеÄÀࣻ¶ø¶ÔÓÚÒ»°ãµÄ¡¢ÀඨÒå´úÂ벻ǶÌ×ÔÚÆäËüÀඨÒåÖеÄÀ࣬³ÆÎª¶¥²ã£¨top-level£©Àà¡£¶ÔÓÚÒ»¸öÄÚ²¿À࣬°üº¬Æä¶¨Òå´úÂëµÄÀà³ÆÎªËüµÄÍⲿ£¨outer£©Àà¡£
1 Static member class£¨¾²Ì¬³ÉÔ±Àࣩ
ÀàÉùÃ÷Öаüº¬“static”¹Ø¼ü×ÖµÄÄÚ²¿Àà¡£ÈçÒÔÏÂʾÀý´úÂ룬
Inner1/Inner2/Inner3/Inner4¾ÍÊÇOuterµÄËĸö¾²Ì¬³ÉÔ±Àà¡£¾²Ì¬³ÉÔ±ÀàµÄʹÓ÷½Ê½ÓëÒ»°ã¶¥²ãÀàµÄʹÓ÷½Ê½»ù±¾Ïàͬ¡£
public class Outer{
//just like static method, static member class has public/private/default access privilege levels
//access privilege level: public
public static class Inner1 {
public Inner1() {
//Static member inner class can access static method of outer class
staticMethod();
//Compile error: static member inner class can not access instance method of outer class
//instanceMethod();
}
}
//access privilege level: default
static class Inner2 {
}
//access privilege level: private
private static class Inner3 {
//define a nested inner class in another inner class
public static class Inner4 {
}
}
private static void staticMethod() {
//cannot define an inner class in a method
/*public static class Inner4() {
}*/
}
private void instanceMethod() {
//private static member class can be accessed only in its outer class definition scope
Inner3 inner3 = new Inner3();
//how to use nested inner class
Inner3.Inner4 inner4 = new Inner3.Inner4();
}
}
class Test {
Outer.Inner1 inner1 = new Outer.Inner1();
//Test and Outer are in the same package, so Inner2 can be accessed here
Outer.Inner2 inner2 = new Outer.Inner2();
//Compile error: Inner3 cannot be accessed here
//Outer.Inner3 inner3 = new Outer.Inner3();
}
1.1 ¾²Ì¬³ÉÔ±ÀàÌØÐÔ
¾²Ì¬³ÉÔ±Àà¿É·ÃÎÊÍⲿÀàµÄÈÎ
Ïà¹ØÎĵµ£º
JNI¹¤×÷ÔÀí
ÔÚJNIÖУ¬±¾µØº¯ÊýÊÇͨ¹ýÒ»¸ö¶ÀÁ¢µÄ.c»ò.cppÎļþÀ´ÊµÏÖµÄ(C++ΪJNIÌṩµÄ½çÃæ»á¸ü¼ò½àһЩ)¡£µ±JVMµ÷Óøú¯Êýʱ£¬Ëü´«µÝÁËÒ»¸öJNIEnvÖ¸Õë¡¢Ò»¸öjobjectÖ¸ÕëºÍͨ¹ýJava·½·¨¶¨ÒåµÄJava²ÎÊý£¬JNIº¯ÊýµÄÐÎʽÈçÏ£º
JNIEXPORT void JNICALL Java_ClassName_MethodName
(JNIEnv *env, jobjectobj)
{
......
1.staticÉùÃ÷±äÁ¿µÄÓ÷¨ÔÚ»ù´¡ÖªÊ¶ÀïÃæ£»
JavaÀïÃæstaticÓÃÀ´ÉùÃ÷º¯ÊýµÄ×÷Óãº
A.¿ÉÒÔ²»Óô´½¨¶ÔÏó£¨ÊµÀý£©£¬¶øÖ±½Óµ÷Ó×—Àà.·½·¨
B.ÓÃÓÚmainº¯ÊýµÄ·½·¨
2.new——·ÖÅä¿Õ¼äÎÊÌâ
ÓжàÉÙne ......
×÷ΪһÃû³ÌÐòÔ±£¬×ÜÒª¾Àú´ÓС¹æÄ£µÄ¾Ö²¿±àÂëת»»µ½´óÐÍÈí¼þÉè¼Æ¡¢¿ª·¢µÄ¹ý³Ì¡£Ôڴ˹ý³ÌÖУ¬ÔÚÊìϤÁ˱à³ÌÓïÑÔºó£¬ÐèÒª½«ÑÛ¹âÉÏÉýÒ»¸ö²ãÃæ£¬´ÓÕûÌåÈ¥°ÑÎÕÕû¸öÈí¼þµÄ¼Ü¹¹£¬Õë¶ÔÒ»¸öÐÐÒµµÄ¾ßÌåÒµÎñ£¬Äܹ»Éè¼ÆÒ»¸öºÏÀíµÄ¼Ü¹¹£¬Ìá¸ßÈí¼þµÄ¿É¿¿ÐÔ¡¢¿Éά»¤ÐÔ¡¢¿É¸´ÓÃÐÔ¡£¾ÍÏñһλ¾Ñé·á¸»µÄͬÊÂËùË ......
JAVA Öй²ÓÐÈýÖÖWebService ¹æ·¶£¬·Ö±ðÊÇJAXM&SAAJ¡¢JAX-WS£¨JAX-RPC£©¡¢JAX-RS¡£
ÏÂÃæÀ´·Ö±ð¼òÒªµÄ½éÉÜÒ»ÏÂÕâÈý¸ö¹æ·¶¡£
(1.)JAX-WS£º
JAX-WS£¨Java API For XML-WebService£©£¬JDK1.6 ×Ô´øµÄ°æ±¾ÎªJAX-WS2.1£¬Æäµ×²ãÖ§
³ÖΪJAXB¡£ÔçÆÚµÄ»ùÓÚSOAP µÄJAVA µÄWeb ·þÎñ¹æ·¶JAX-RPC£¨Java API For
XML-Remote Proce ......
ÔÚstylesheet±êÇ©ÀïÉùÃ÷ÃüÃû¿Õ¼äºÍµ÷Ó÷½·¨£º
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:proc="${path}/packageName" exclude-result-prefixes="proc">
......
<xsl:value-of select="proc:className.methodName(param)"/>
${path}Ëæ±ãÔõÑùд¶¼¿ÉÒÔ£¬¼´Ê¹ÊǸ ......