关于java访问权限控制的误区
2012-07-13 16:53
471 查看
今天在主页上面看到一个很有意思的讨论,不出意外的,第一反应是错的,之后发现的是,自己一向以来对关键字访问权限控制的理解也是错误的
代码如下
其实,这个地方的test.s的访问是没错的,private关键字是“类”内访问权限控制,而不是“对象”内访问权限控制
再联想一下加深印象,其实,java里面无处不是对象,即使在Test里面直接使用s=234;这类的语句,其实也是相当于对this这个对象的s访问进行控制的,其实类内访问并不奇怪,一是这种用法基本不存在,二是我一直忽略了this这个对象。
PS:总感觉这个联想并不是太正确……
代码如下
public class A { public static void main(String[] args) { Test test1 = new Test(234); Test test2 = new Test(345); test1.get(test2); } } class Test { private int s = 123; public Test(int test) { s = test; } public void get(Test test) { System.out.println(test.s); //这个地方的test.s访问不会报错么? } }
其实,这个地方的test.s的访问是没错的,private关键字是“类”内访问权限控制,而不是“对象”内访问权限控制
再联想一下加深印象,其实,java里面无处不是对象,即使在Test里面直接使用s=234;这类的语句,其实也是相当于对this这个对象的s访问进行控制的,其实类内访问并不奇怪,一是这种用法基本不存在,二是我一直忽略了this这个对象。
PS:总感觉这个联想并不是太正确……
相关文章推荐
- 关于java的访问权限控制,以关于继承的this和super小结
- Think IN JAVA --------JAVA访问权限控制
- java访问权限控制
- Java中的访问权限控制详解
- JavaWeb 案例——访问权限控制
- Java访问权限控制小结
- Java中的访问控制权限
- JAVA中访问权限的控制
- Java访问控制权限
- java中关于访问权限
- Java编程思想-06访问权限控制
- java访问控制权限及命名规范
- Java 访问权限控制:你真的了解 protected 关键字吗?
- 关于Java权限控制算法
- java的访问权限控制--疑问
- Java之访问权限控制符以及结合继承体系引发的注意事项
- 【Java】第6章 访问权限控制
- Java面向对象-访问控制权限
- 关于Java权限控制算法【转】
- Java 深入学习(20) —— 访问权限控制