Java编程思想笔记-六

1.为什么设置访问权限控制:

最初代码的实现并非最佳,于是想通过重构达到最佳效果,并不能使客户端的程序出现问题,然而如果没有权限控制,开发者并不知道哪些方法是供客户端程序使用的,所以通过访问权限控制达到一个明显分界

2.首先明白包的概念:

包内包含有一组类,他们在单一的名字空间下被组织在了一起,相同目录下的所有不具有明确package声明的文件,都会被视作是该目录下默认包的一部分

3.编译单元

通俗说就是一个Java文件,一个Java文件可以有很多个类,但是只能有一个public类,该类名必须与Java文件同名,而其他类在包外是无法看见的,因为他们不是public类,而他们也主要是为了给public类提供支持。

4.Java 解释器的工作程序如下

  1. 首先,它找到环境变量 CLASSPAT。CLASSPATH 包含了一个或多个目录,它们作为一种特殊的“根”使用,从这里展开对.class 文件的搜索。
  2. 从那个根开始,解释器会寻找包名,并将每个点号(句点)替换成一个斜杠,从而生成从 CLASSPATH 根开始的一个路径名(所以 package foo.bar.baz 会变成 foo\bar\baz 或者 foo/bar/baz;正斜杠还是反斜杠由操作系统决定)。
  3. 随后将它们连接到一起, 成为 CLASSPATH内的各个条目(入口)。以后搜索.class 文件时,就可从这些地方开始查找与准备创建的类名对应的名字。

5.用import改变行为

书中练习以debug为例,写两个Debug类,分别存在两个不同的包一个是debug,另一个是debugoff,这两个debug类拥有同样的方法,差别是debug中的方法的确是打印debug信息的,而debugoff的方法却不进行任何操作。
这其中的意义:项目上线后肯定是不需要打印debug信息的,所以我们在开发的时候用import导入debug,上线后改为导入debugoff

6.关键词及权限范围

    修饰词               本类    同一个包的类  继承类 其他类
    private              √          ×         ×      ×
    无(默认)            √          √         ×      ×
    protected            √          √         √      ×
    public               √          √         √      √

7.接口和实现:

把数据和方法包装进类中,将具体的实现,被称作封装
在数据类型内部划分访问权限边界,这种设计的原因:
  1. 规定客户程序员哪些能够使用,哪些不能。我们可在结构里构建自己的内部机制,不用担心客户程序员将其当作接口的一部,从而自由地使用或者“滥用”。
  2. 我们需要将接口同实施细节分离开。若结构在一系列程序中使用,但用户除了将消息发给 public 接口之外,不能做其他任何事情。

8.类的访问权限控制

类只能有两种访问权限,一个是public,另一个就是default,default类则是为主类提供支持的
如果想隐藏类,可以将构造器设为private,(引出单例模式)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值