• JAVA面向对象编程:关于类的访问权限
  • 余跟正 发表于 2016/2/21 20:45:00 | 分类标签: 面向对象 JAVA编程 访问权限
  • 类的访问权限

    Java中,访问权限修饰词用于确定库中哪些类对于该库的使用者是可用的。

    public class Foo{
    }
    注意点:

    1.每个文件(编译单元)只能有一个public类。
    2.public类的名称必须完全和含有该编译单元的文件名相匹配,包括大小写。
    3.编译单元内没有public类也是可行的(不常这么用),在这种情况下,可以随意对文件命名。
    4.类既不可以是private的(除该类以外,任何类都不能访问它),也不可以是protected。(事实上,内部类可以是private或protected的)

    类的访问权限:包访问权限或public。

    若不希望别人对该类有访问权限,可以将所有的构造器都指定为private,从而阻止其他人创建该类的对象。

    例外:
    在该类static成员内部可以创建。
    class Soup1{
    //是private
    private Soup1(){

    }
    //static
    //1.
    //2.
    public static Soup1 makeSoup(){
    return new Soup1();
    }
    }
    class Soup2{
    private Soup2(){

    }
    //
    public static Soup2 soup2 = new Soup2();
    public static Soup2 access(){
    return soup2;
    }
    public void f(){

    }
    }
    public class Lunch {
    void testPrivate(){
    // Soup1 soup1 = new Soup1();
    }
    void testStatic(){
    Soup1 soup1 = Soup1.makeSoup();
    }
    void testSingleton(){
    Soup2.access().f();
    }
    }
    对于包访问权限修饰的类,包内其他类可以创建它的对象,包外则不行。但如果该类的某个static成员的访问权限是public的话,依旧可以调用该static成员,尽管它们并不能生成该类对象。
  • 请您注意

    ·自觉遵守:爱国、守法、自律、真实、文明的原则

    ·尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法规

    ·严禁发表危害国家安全,破坏民族团结、国家宗教政策和社会稳定,含侮辱、诽谤、教唆、淫秽等内容的作品

    ·承担一切因您的行为而直接或间接导致的民事或刑事法律责任

    ·您在编程中国社区新闻评论发表的作品,本网站有权在网站内保留、转载、引用或者删除

    ·参与本评论即表明您已经阅读并接受上述条款

  • 感谢本文作者
  • 作者头像
  • 昵称:余跟正
  • 加入时间:2013/7/13 0:00:00
  • TA的签名
  • 这家伙很懒,虾米都没写
  • +进入TA的空间
  • 以下内容也很赞哦
分享按钮