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 ¾²Ì¬³ÉÔ±ÀàÌØÐÔ
¾²Ì¬³ÉÔ±Àà¿É·ÃÎÊÍⲿÀàµÄÈÎ
Ïà¹ØÎĵµ£º
Ëõ·ÅͼÏñµÄ»ù±¾ÔÀíÊÇ´´½¨Ò»¸öÄ¿±ê´óСµÄ»²¼£¬È»ºó¶ÁȡԴͼÏñ£¬²¢½«¸ÃͼÏñ»æÖÆÕâ¸ö»²¼ÉÏ¡£ÎªÁËʹ³ÌÐòͨÓã¬Ô´Í¼ÏñºÍËõ·ÅºóµÄÄ¿±êͼÏñÓ¦Ó÷ֱðʹÓà InputStreamºÍOutputStreamÀ´±íʾ£¬´úÂëÈçÏ£º
public static void scaleImage(InputStream imgInputStrea ......
ÔÚ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}Ëæ±ãÔõÑùд¶¼¿ÉÒÔ£¬¼´Ê¹ÊǸ ......
¿Í»§¶Ë:
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import java.awt.*;
public class ClientPoint extends JFrame implements ActionListener,KeyListener{
static int SERVERPORT=8088;
sta ......
Java ArraysÖÐÌṩÁ˶ÔËùÓÐÀàÐ͵ÄÅÅÐò¡£ÆäÖÐÖ÷Òª·ÖΪprimitiveºÍObjectÁ½´óÀ࣬·Ö±ðʹÓÃÁË¿ìËÙÅÅÐòÓëºÏ²¢ÅÅÐò¡£±¾ÕÂÒÔint[] µÄÅÅÐò£¬½²½âJava¶ÔprimitiveÅÅÐò¡£
Ê×ÏÈ´ó¼ÒÒªÁ˽âʲôÊÇ¿ìËÙÅÅÐò£¬ËüÓÐʲôÓŵ㣬ÕâЩÎҾͲ»ÀÛÊöÁË£¬¸ø³öµØÖ·¡£http://zh.wikipedia.org/zh/%E5%BF%AB%E9 ......
Javaͨ¹ýjava.lang.ThreadÀàÍê³É¶àÏ̡߳£ÎÒÃÇͨ¹ýͬһ¸öÀý×Ó£¬¿´Ï̵߳ÄÁ½ÖÖ´´½¨·½·¨£¬ÒÔ¼°ÔËÐз½·¨£º
(1)Ò»ÖÖÊÇÉùÃ÷ Thread µÄ×ÓÀà£¬ÖØÔØ Thread ÀàµÄ·½·¨ run£¨Extend java.lang.Thread and override the run method£©
public class MyThread extends Thread
{
&nb ......