6.访问权限控制

这一章的有以下这么几点:

1.package:包,名字空间,写在文件的第一行。

   import导入包。如何导入呢?机器怎么知道找到那些包,通过搜索环境变量classpath来匹配导入包,得到具体路径。classpath是用来寻找使用第三方类和用户自定义类。

2.四个访问修饰词

   public            公开

   protected       包内,继承

   无                  包内

   private           仅供自用

  公开性一次递减。

3.类访问权限

   类的访问权限只有包访问权限即没有修饰词或者public。内部类除外。

   目的:如果不希望任何人对该类有访问权限。

   做法:将所有构造器指定为private。

   例外:该类的static成员是可以使用构造器来生成对象。

   例子如下:

    class Soup1 {
  private Soup1() {}
  // (1) Allow creation via static method:
  public static Soup1 makeSoup() {
    return new Soup1();
  }
}

class Soup2 {
  private Soup2() {}
  // (2) Create a static object and return a reference
  // upon request.(The "Singleton" pattern):
  private static Soup2 ps1 = new Soup2();
  public static Soup2 access() {
    return ps1;
  }
}

soup2就是单例模式(singleon),只能创建一个对象,返回的都是single object的引用。

4.意义

实行访问控制的原因:a.使客户不能接触不该接触的部分。(那部分不属于客户端)

                              b.确保任何客户端不依赖某个类的底层实现的任何部分。(更改底 层结构时,若接口和实现被明确隔离和保护(主观理想状态),就可以达到这一目的。) 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值