1、JAVA (inner class) public class OuterClass public class InnerClass /-This is a inner class. InnerClass OuterClass public OuterClass InnerClass OuterClass OuterClass InnerClass 1 class OuterClass class InnerClass public class Test public static void main(String args) OuterClass out = new OuterClass()
2、; OuterClass.InnerClass in = out.new InnerClass(); OuterClass out = new OuterClass(); OuterClass OuterClass.InnerClass in = out.new InnerClass(); main() OuterClass.InnerClass in = new OuterClass().new InnerClass(); (Test) (OuterClass) (InnerClass) (OuterClass) OuterClass.InnerClass 2 public class Te
3、st class InnerClass 1 public static void main(String args) InnerClass in = new Test().new InnerClass(); main() 3 public class Test class InnerClass InnerClass in = new InnerClass(); public static void main(String args) main() 4 public class Test class InnerClass public void method() InnerClass in =
4、new InnerClass(); public static void main(String args) static 5 class OuterClass static class InnerClass public class Test public static void main(String args) 2 OuterClass.InnerClass in = new OuterClass.InnerClass(); InnerClass OuterClass OuterClass.InnerClass in 6 class Outer static int outer_stat
5、 = 0; int outer_non_stat = 1; static class StaticInner static int stat = 2; static int stat_test = outer_stat; public void tester() System.out.println(“outer_stat = “ + outer_stat); class NonStaticInner public void tester() System.out.println(“outer_stat = “ + outer_stat); System.out.println(“outer_
6、non_stat = “ + outer_non_stat); System.out.println(“StaticInner.stat = “ + StaticInner.stat); public class Test public static void main(String args) new Outer().new NonStaticInner().tester(); System.out.println(“-“); new Outer.StaticInner().tester(); outer_stat = 0 outer_non_stat = 1 StaticInner.sta
7、t = 2 3 - outer_stat = 0 NonStaticInner System.out.println(“outer_stat = “ + outer_stat); System.out.println(“outer_non_stat = “ + outer_non_stat); System.out.println(“StaticInner.stat = “ + StaticInner.stat); StaticInner System.out.println(“outer_stat = “ + outer_stat); static int stat_test = outer
8、_stat; 7 class Outer public void tester() class Inner public class Test public static void main(String args) final 8 8 class Outer public void tester() final int i = 5; class Inner int j = i; 4 Inner in = new Inner(); public class Test public static void main(String args) SUN 4 4 public,protected,pr
9、ivate,static 8 ; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Test extends JFrame Test() super(“test_title“); Container cp = getContentPane(); cp.setLayout(new FlowLayout(); JButton btn = new JButton(“close“); cp.add(btn); btn.addActionListener(act); setSize(300,200
10、); ActionListener act = new ActionListener() public void actionPerformed(ActionEvent e) 5 System.exit(0); ; public static void main(String args) Test test = new Test(); test.setVisible(true); 9 8 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Test extends JFrame Test(
11、) super(“test_title“); Container cp = getContentPane(); cp.setLayout(new FlowLayout(); JButton btn = new JButton(“close“); cp.add(btn); btn.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) System.exit(0); ); public static void main(String args) Test test = new Test()
12、; test.setSize(300,200); test.setVisible(true); 10 public class Test public static void main(String args) 6 Thread r = new Thread() public void run() for(int k=0;k10;k+) System.out.print(k); ; r.start(); 11 10 public class Test public static void main(String args) new Thread(new Runnable() public void run() System.out.println(“run“); ).start(); 10 11 SCJP/MCSE/MCDBA 2002.9 7