Java中访问权限修饰符protected, default
2016-03-18 00:04
423 查看
作用域 | 当前类 | 同package | 子孙类 | 其他package |
public | √ | √ | √ | √ |
protected | √ | √ | √ | × |
default | √ | √ | × | × |
private | √ | × | × | × |
重点看protected和default两种权限的区别:对于protected成员变量,子孙类在任何地方都能访问(包内或者包外),但是对于default或者说默认成员变量,其实是不存在子孙类访问权限的概念的,就是说如果子孙类在包内,则可以访问,子孙类在包外则不可以访问。
protected在其子类中可以访问,无论是子类内部还是子类的实例,无论它们是在哪个包中,
但如果子类与父类不在同一个包中,在子类中用父类的实例去访问的话不可以
如:
package zqd.demo;
public class Parent {
protected int age;
}
子类:不在同一包
package zqd.thread;
import zqd.demo.Parent;
public class Task extends Parent{
public static void main(String[] args) {
Task p = new Task();
System.out.println(p.age);//正确
Parent p = new Parent():
System.out.println(p.age); // 编译错误
}
}
相关文章推荐
- Spring MVC中使用国际化和主题
- java字典中使用三目运算设定key初值
- java使用map封装返回多值
- 使用java对各档人数进行汇总
- 安装多个版本的jdk
- Java 日志管理最佳实践
- Java注意事项(基础细节)
- java数组算法的相关实现
- java栈算法实现单词逆序输出
- FastDFS的安装,配置与使用(java)
- Java爬取CSDN博客
- SpringMVC注解总结
- SpringMVC中传参乱码解决方案
- 把java 工程转为 maven 工程
- myeclipse eclipse 安装aptana插件
- java synchronized详解
- SpringMVC 基本注解[@Resource,@Autowired,@Component]
- win下配置eclipse使其能像MyEclipse一样打开当前文件所在目录
- java开发环境配置
- Eclipse插件之 Activiti Designer