在Java中一共有4中访问权限,分别是:private,default(默认),protected和public
用表格的形式来表示是这样的:
范围 | private |
default | protected | public |
同一类 | √ | √ | √ | √ |
同一包中的类 | √ | √ | √ | |
不同包中的子类 | √ | √ | ||
其他包中的其他类 | √ |
关于protected访问权限下的属性或方法,在其他包中的子类可以对其进行访问。示例如下:
1
2
3
4
5
6
7
8
9
10
|
package
javase.base;
public
class
Base {
protected
String protectedParam =
"hello"
;
protected
String protectedMethod() {
return
"world"
;
}
}
|
在另一个包中的子类:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
package
javase.extra;
import
javase.base.Base;
public
class
ProtectedDemo
extends
Base{
public
void
print(){
System.out.println(
"protected类型属性:"
+
super
.protectedParam);
System.out.println(
"protected类型方法:"
+
super
.protectedMethod());
}
public
static
void
main(String[] args) {
new
ProtectedDemo().print();
}
}
|
输出:
1
2
|
protected
类型属性:hello
protected
类型方法:world
|
本文转自 pangfc 51CTO博客,原文链接:http://blog.51cto.com/983836259/1747003,如需转载请自行联系原作者