上網的農民
Java咖啡~~~~~
BlogJava
首頁
新隨筆
聯系
聚合
管理
posts - 1, comments - 2, trackbacks - 0
淺談JAVA內部類
昨天晚上看書時發現一個內部類的例子,寫得很簡單,不過挺不錯的。這里再添加一些農民自己的例子。
書上的例子:
1
/** */
/**
2
*
@author
Tommylee
3
*/
4
public
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
*/
4
public
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
*/
4
public
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
*/
4
public
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
上網的農民
閱讀(127)
評論(0)
編輯
收藏
所屬分類:
JAVA
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關文章:
項目中使用過的一些JSTL標簽
淺談JAVA內部類
Copyright ©2025 上網的農民 Powered By:
博客園
模板提供:
滬江博客
<
2025年7月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
正在JAVA的路上努力著,沒有目的地,只想一直向前~~~~~~~~
常用鏈接
我的隨筆
我的文章
我的評論
我的參與
最新評論
留言簿
(2)
給我留言
查看公開留言
查看私人留言
隨筆檔案
(1)
2008年6月 (1)
文章分類
(2)
JAVA(2)
文章檔案
(2)
2008年6月 (2)
百科
中文愛百科
可信賴的中文百科全書
搜索
最新評論
1.?re: 第一篇,自己的軟件人生成長之路
你果然是個狂妄的死農民,欠日的
--SW
2.?re: 第一篇,自己的軟件人生成長之路[未登錄]
你是做對日的吧,呵呵 打好基礎再說。
--aaa
主站蜘蛛池模板:
灌云县
|
平江县
|
肥西县
|
罗甸县
|
双辽市
|
阿克
|
衡阳市
|
循化
|
利川市
|
云南省
|
宜兰市
|
井陉县
|
铜陵市
|
南京市
|
泸西县
|
礼泉县
|
甘肃省
|
加查县
|
长沙县
|
西峡县
|
招远市
|
东安县
|
漳州市
|
方山县
|
台北县
|
麻城市
|
克山县
|
宕昌县
|
黄梅县
|
图片
|
北海市
|
齐齐哈尔市
|
固阳县
|
大方县
|
邳州市
|
新龙县
|
广河县
|
房山区
|
永嘉县
|
贵港市
|
太保市
|