Tinysun
BlogJava
首页
新随笔
新文章
联系
聚合
管理
posts - 134,comments - 22,trackbacks - 0
<
2009年2月
>
日
一
二
三
四
五
六
25
26
27
28
29
30
31
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
1
2
3
4
5
6
7
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(4)
给我留言
查看公开留言
查看私人留言
我参与的团队
ica推荐系统(0/0)
随笔分类
Algorithm and Data Structure(9)
C/C++(38)
GNU Linux/Unix(35)
J2SE(10)
Java开源(1)
Linux 多线程(4)
Microsoft Dynamic AX(2)
VC++/MFC(3)
Win32API 编程(2)
XML相关(1)
其他(9)
数据库和SQL (10)
新技术新概念(1)
设计模式(1)
随笔档案
2012年8月 (1)
2012年2月 (1)
2011年5月 (1)
2011年1月 (3)
2010年11月 (1)
2010年10月 (6)
2010年9月 (12)
2010年8月 (12)
2010年7月 (6)
2010年6月 (4)
2010年5月 (19)
2010年4月 (4)
2010年3月 (2)
2010年2月 (7)
2010年1月 (1)
2009年12月 (16)
2009年11月 (6)
2009年5月 (1)
2009年4月 (4)
2009年3月 (8)
2009年2月 (8)
2009年1月 (1)
2008年12月 (1)
2008年11月 (5)
2008年10月 (2)
2008年5月 (2)
2008年3月 (1)
收藏夹
C/C++(1)
Java(1)
C++ 社区
artima developer
C plus plus
drdobbs
Lippman
常用网站
CodeProject
VC知识库
搜索
最新评论
1. re: vi使用技巧(二):copy,paste,delete,块编辑,redo/undo
学无止境。
--jtony
2. re: 中英文网页中双语语料的挖掘
你的软件卖吗?请加我qq
:1679461908
--tm
3. re: 中英文网页中双语语料的挖掘
可否加我,qq: 1679461908
--tm
4. re: 中文分词免费源码资源
中文分词免费源码资源
--8888
5. re: 全文检索的基本原理
懂点了。
人工智能
--谢谢分享
阅读排行榜
1. 大端法、小端法、网络字节序 转(31347)
2. 均方根值(RMS)、均方根误差(RMSE)、各种平均值 (16941)
3. vi使用技巧(二):copy,paste,delete,块编辑,redo/undo(12319)
4. MFC下关于“建立空文档失败”问题的分析(转载)(9103)
5. linux下which、whereis、locate、find 命令的区别(5119)
评论排行榜
1. PL/X编译器设计与实现(9)
2. 利用牛顿迭代法求平方根(转)(4)
3. 中英文网页中双语语料的挖掘(3)
4. 全文检索的基本原理(1)
5. 用户态非抢占式线程库实现 (转)(1)
protected访问权限
1、protected的类、类属变量及方法,包内的任何类,及包外的那些继承了此类的子类才能访问;
注意:子类如处于不同的包,则相互间不能访问继承自父类的方法。
所有不能访问的方法都已经被注释:
1
package
packageA;
2
3
public
class
Base
{
4
public
String publicStr
=
"
publicString
"
;
5
protected
String protectedStr
=
"
protectedString
"
;
6
String defaultStr
=
"
defaultString
"
;
7
private
String privateStr
=
"
privateString
"
;
8
9
public
void
print()
{
10
System.out.println(
"
packageA.Base has access to
"
);
11
System.out.println(
"
"
+
publicStr);
12
System.out.println(
"
"
+
protectedStr);
13
System.out.println(
"
"
+
defaultStr);
14
System.out.println(
"
"
+
privateStr);
15
16
Base b
=
new
Base();
//
-- other Base instance
17
System.out.println(
"
b.
"
+
b.publicStr);
18
System.out.println(
"
b.
"
+
b.protectedStr);
19
System.out.println(
"
b.
"
+
b.defaultStr);
20
System.out.println(
"
b.
"
+
b.privateStr);
21
}
22
}
23
24
--------------------------------------------------------------------------------
25
26
package
packageA;
27
28
public
class
SubA
extends
Base
{
29
public
void
print()
{
30
System.out.println(
"
packageA.SubA has access to
"
);
31
System.out.println(
"
"
+
publicStr
+
"
(inherited from Base)
"
);
32
System.out.println(
"
"
+
protectedStr
+
"
(inherited from Base)
"
);
33
System.out.println(
"
"
+
defaultStr
+
"
(inherited from Base)
"
);
34
//
-- not accessible - private elements are even not inherited
35
//
System.out.println(privateStr);
36
37
Base b
=
new
Base();
//
-- other Base instance
38
System.out.println(
"
b.
"
+
b.publicStr);
39
System.out.println(
"
b.
"
+
b.protectedStr);
40
System.out.println(
"
b.
"
+
b.defaultStr);
41
//
-- not accessible
42
//
System.out.println(b.privateStr);
43
}
44
}
45
46
--------------------------------------------------------------------------------
47
48
package
packageA;
49
50
public
class
AnotherA
{
51
public
void
print()
{
52
System.out.println(
"
packageA.AnotherA has access to
"
);
53
Base b
=
new
Base();
54
System.out.println(
"
b.
"
+
b.publicStr);
55
System.out.println(
"
b.
"
+
b.protectedStr);
56
System.out.println(
"
b.
"
+
b.defaultStr);
57
//
System.out.println(b.privateStr);
58
}
59
}
60
61
--------------------------------------------------------------------------------
62
63
package
packageB;
64
import
packageA.Base;
65
66
public
class
SubB
extends
Base
{
67
public
void
print()
{
68
System.out.println(
"
packageB.SubB has access to
"
);
69
System.out.println(
"
"
+
publicStr
+
"
(inherited from Base)
"
);
70
//
-- protectedStr is inherited element -> accessible
71
System.out.println(
"
"
+
protectedStr
+
"
(inherited from Base)
"
);
72
//
-- not accessible
73
//
System.out.println(defaultStr);
74
//
System.out.println(privateStr);
75
76
Base b
=
new
Base();
//
-- other Base instance
77
System.out.println(
"
b.
"
+
b.publicStr);
78
//
-- protected element, which belongs to other object -> not accessible
79
//
System.out.println(b.protectedStr);
80
81
//
-- not accessible
82
//
System.out.println(b.defaultStr);
83
//
System.out.println(b.privateStr);
84
}
85
}
86
87
--------------------------------------------------------------------------------
88
89
package
packageB;
90
import
packageA.Base;
91
92
public
class
AnotherB
{
93
public
void
print()
{
94
System.out.println(
"
packageB.AnotherB has access to
"
);
95
Base b
=
new
Base();
96
System.out.println(
"
b.
"
+
b.publicStr);
97
//
-- not accessible
98
//
System.out.println(b.protectedStr);
99
//
System.out.println(b.defaultStr);
100
//
System.out.println(b.privateStr);
101
}
102
}
103
104
--------------------------------------------------------------------------------
105
106
import
packageA.
*
;
107
import
packageB.
*
;
108
109
//
-- testing class
110
public
class
TestProtection
{
111
public
static
void
main(String[] args)
{
112
//
-- all classes are public, so class TestProtection
113
//
-- has access to all of them
114
new
Base().print();
115
new
SubA().print();
116
new
AnotherA().print();
117
new
SubB().print();
118
new
AnotherB().print();
119
}
120
}
121
posted on 2009-02-21 19:39
何克勤
阅读(532)
评论(0)
编辑
收藏
所属分类:
J2SE
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
相关文章:
线程中释放锁的方式
Java线程
just-in-time编译器
file的getPath getAbsolutePath和getCanonicalPath的不同
protected访问权限
关联、组合、聚合、依赖关系比较
比较分析Vector、ArrayList和hashtable hashmap数据结构
[转]Java RPC通信机制之RMI
(转)Java中URI,URL和URN的使用
关于java连接sql server 2000的问题