java中的访问控制有什么用?如何用法?请举例

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.mark-to-win.com/index.html?content=JavaBeginner/javaUrl.html&chapter=JavaBeginner/JavaBeginner2_web.html#AccessControl

猜你喜欢

转载自www.cnblogs.com/mark-to-win/p/9691905.html