9. 访问控制 (视频下载) (全部书籍)
[新手可忽略不影响继续学习] 访问控制有什么用? 在软件公司里是这么用的, 我们想像一种场景, 在你的类中, 你编了三个私有方法, 马克 - to-win, 别人当然都用不了, 但在类外, 你也是用不了的, 你必须, 在类里再编一个公共方法, 别人就能随便用了! 但是如果你的公共方法调用那三个私有方法的顺序是 132 的话, 全世界人民只能调用那个公共方法, 按照 132 的顺序, 来使用那三个私有方法, 他想按照 123 的顺序来调用那三个私有方法, 都没办法. 因为这个类的发布权在你手里, 全世界人民只会到你的网站去下载. 如果大家有需求建议说你把顺序改成 321, 他们得经过你的同意, 把这顺序为 321 的公共方法, 重新加入你的类中, 重新在你自己的网站打包发布, 所以保护了你的知识产权马克 - to-win.
Java 的访问指示符分类1.public(公共的, 全局的)2.private(私有的, 局部的)3.protected(受保护的)4. 默认访问级别.
public:public 成员可以被你的程序中的任何其他代码访问.
private :private 成员只能被它的类中的其他成员访问.
默认访问级别: 如果不使用访问指示符, 该类成员为默认访问. 即在它自己的包内为 public, 但在它的包以外不能被存取.
封装 encapsulate 的概念: 就是把一部分属性和方法非公有化, 从而控制谁可以访问他们.(视频下载) (全部书籍)
本章源码
- class Test3 {
- int a; // default access 访问
- public int b; // public access
- private int c; // private access
- // methods to access c
- void setc(int i) { // set c's value
- c = i;
- }
- int getc() { // get c's value
- return c;
- }
- }
- public class Test {
- public static void main(String args[]) {
- Test3 ob = new Test3();
- // These are OK,a and b may be accessed directly
- ob.a = 10;
- ob.b = 20;
- // This is not OK and will cause an error, 错误
- //ob.c = 100; // Error!, 因为 c 是私有变量
- ..................
详情请见:
来源: http://www.bubuko.com/infodetail-2778092.html