posts - 1,  comments - 2,  trackbacks - 0
     昨天晚上看书时发现一个内部类的例子,写得很简单,不过挺不错的。这里再添加一些农民自己的例子。

书上的例子:
 1/**
 2 *@author Tommylee
 3 */

 4public class  ExtendsClass
 5{
 6    class Class1G
 7    {
 8        public Class1G(){
 9            System.out.println("I am Class1G.");
10        }

11    }

12
13    class Class2G extends Class1G
14    {
15        public Class2G(){
16            System.out.println("I am Class2G.");
17        }

18    }

19
20    class Class3G  extends Class2G
21    {
22        public Class3G(){
23            System.out.println("I am Class3G.");
24        }

25    }

26
27    class Class4G  extends Class3G
28    {
29        public Class4G(){
30            System.out.println("I am Class4G.");
31        }

32    }

33
34    public void testClassExtends(){
35        new Class4G();
36    }

37
38    public static void main(String[] args) 
39    {
40        ExtendsClass ex = new ExtendsClass();
41        ex.testClassExtends();
42    }

43}

44
执行结果:
I am Class1G.
I am Class2G.
I am Class3G.
I am Class4G.

其实这个例子挺简单,主要就是为了说明继承的时候其构造函数的执行顺序(构造一个类的实例的时候,会一次调用其父类的构造函数。)     大家如果对这个有疑问 可以自己在L40打一个断点,DEBUG一下。
       不过,这里其实改造一下代码就可以体现出另外几个知识点。(农民也不知道自己搞全了没 兴趣一下而已)

如 我们可以来尝试几种实例化内部类的方式
第一种方式
 1/**
 2 *@author Tommylee
 3 */

 4public class  ExtendsClass
 5{
 6    class Class1G
 7    {
 8        public Class1G(){
 9            System.out.println("I am Class1G.");
10        }

11    }

12
13    class Class2G extends Class1G
14    {
15        public Class2G(){
16            System.out.println("I am Class2G.");
17        }

18    }

19
20    class Class3G  extends Class2G
21    {
22        public Class3G(){
23            System.out.println("I am Class3G.");
24        }

25    }

26
27    class Class4G  extends Class3G
28    {
29        public Class4G(){
30            System.out.println("I am Class4G.");
31        }

32    }

33
34    //***modify by Tommyle 06/03 start
35    //public void testClassExtends(){
36    //    new Class4G();
37    //}
38
39    public static void main(String[] args) 
40    {
41        ExtendsClass ex = new ExtendsClass();
42        ex.new Class4G();
43    }

44
45    //***modify by Tommyle 06/03 end
46}

47

第二种
 1/**
 2 *@author Tommylee
 3 */

 4public class  ExtendsClass
 5{
 6    class Class1G
 7    {
 8        public Class1G(){
 9            System.out.println("I am Class1G.");
10        }

11    }

12
13    class Class2G extends Class1G
14    {
15        public Class2G(){
16            System.out.println("I am Class2G.");
17        }

18    }

19
20    class Class3G  extends Class2G
21    {
22        public Class3G(){
23            System.out.println("I am Class3G.");
24        }

25    }

26
27    class Class4G  extends Class3G
28    {
29        public Class4G(){
30            System.out.println("I am Class4G.");
31        }

32    }

33
34    //***modify by Tommyle 06/03 start
35    //public void testClassExtends(){
36    //    new Class4G();
37    //}
38
39    public static void main(String[] args) 
40    {
41        Class4G CG = new ExtendsClass().new Class4G();
42    }

43
44    //***modify by Tommyle 06/03 end
45}

46

第三种
 1/**
 2 *@author Tommylee
 3 */

 4public class  ExtendsClass
 5{
 6    class Class1G
 7    {
 8        public Class1G(){
 9            System.out.println("I am Class1G.");
10        }

11    }

12
13    class Class2G extends Class1G
14    {
15        public Class2G(){
16            System.out.println("I am Class2G.");
17        }

18    }

19
20    class Class3G  extends Class2G
21    {
22        public Class3G(){
23            System.out.println("I am Class3G.");
24        }

25    }

26
27    class Class4G  extends Class3G
28    {
29        public Class4G(){
30            System.out.println("I am Class4G.");
31        }

32    }

33
34    //***modify by Tommyle 06/03 start
35    //public void testClassExtends(){
36    //    new Class4G();
37    //}
38
39    public static void main(String[] args) 
40    {
41        ExtendsClass.Class4G CG = new ExtendsClass().new Class4G();
42    }

43
44    //***modify by Tommyle 06/03 end
45}

46

不知道还有没有其他方式  这种情况下的 俺就用过这些了 呵呵 望指教
posted on 2008-06-03 14:35 上网的农民 阅读(124) 评论(0)  编辑  收藏 所属分类: JAVA

只有注册用户登录后才能发表评论。


网站导航:
 
<2025年5月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

正在JAVA的路上努力着,没有目的地,只想一直向前~~~~~~~~

常用链接

留言簿(2)

随笔档案(1)

文章分类(2)

文章档案(2)

百科

搜索

  •  

最新评论