zoukankan      html  css  js  c++  java
  • Java编程思想学习笔记——类的访问权限

    类的访问权限

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

    public class Foo{
    }
    

    注意点:

    1. 每个文件(编译单元)只能有一个public类。
    2. public类的名称必须完全和含有该编译单元的文件名相匹配,包括大小写。
    3. 编译单元内没有public类也是可行的(不常这么用),在这种情况下,可以随意对文件命名。

    类既不可以是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成员,尽管它们并不能生成该类对象。

  • 相关阅读:
    VC++删除浮动工具条中“关闭”按钮
    automation无法创建对象
    SQL Server 不产生日志
    收缩数据文件
    VB DoEvents用法
    Sql Server添加用户
    Winsock错误代码一览表
    监控数据库性能的sql
    数据库日志文件清理脚本
    VB 中资源文件的多种使用技巧
  • 原文地址:https://www.cnblogs.com/JohnTsai/p/4628822.html
Copyright © 2011-2022 走看看