在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,如需转载请自行联系原作者