Java中的访问控制权限

发表于:2016-3-22 10:36

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:lqzzang    来源:51Testing软件测试网采编

  一、包:库单元
  一个java源代码文件  相当于  一个编译单元  相当于  xxx.java  相当于  有且仅有1个public类与活干其他类组成,public类名与文件名相同。
  写package的作用就相当于一个目录,把类都归结到一个目录下,这样就能避免不同功能相同类名的两个类冲突。编译时,解释器就会在特定包下找特定类。
  包的命名:
  第一部分:按照类的创建者的反顺序的Internet域名。
  第二部分:分解成机器上的一个目录
  解释器运行如下:
  找出环境变量CLASSPATH,它包含一个或多个目录,用作查找.class文件的根目录,也就是指定编译起始目录。
  从根目录开始,解释器获取包的名称,并把每个.变为FILE.SAPERATER,从CLASSPATH根中产生一个路径。
  得到的路径会跟CLASSPATH的各个不同项相连接,解释器就在这些目录中查找相应的类。
  如果发生冲突:
  同一个编译单元里用到了两个不同包下的同名的类时,可以通过指定全名的方式解决(   java.util.Vector v = new java.util.Vector()  )
  二、访问权限
  成员访问权限
  默认:不声明的话,就是包访问权限,同一个包下的可以访问,包外的无法访问。
  public:都可以访问。
  protected:继承访问权限,它的子类可以访问;同时也是包访问权限,同一个包内的可以访问。
  private:类外无法访问。
  类访问权限
  public:
  包访问权限:此时最好将该类的域声明为private才有意义。
  注:类访问权限不能是private的,如果不希望任何其他访问该类,可以将此类的构造器定义为private,不让其他可以定义该类的对象!
  protected也不行!
  如果一个类的构造器是private
  可以在这个类里在定义一个 public static 类名 的方法,在方法里调用构造器返回这个类的对象引用  (return new leiming())。然后在类外,调用这个方法来建立该类的对象引用。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号