您的位置:首页 > 编程语言 > Java开发

Java编程思想——day 6(访问权限控制)

2018-03-28 17:35 399 查看

Java编程思想——day 6

从现在开始,每天学习并记录。

2018/03/21

第六章 访问权限控制

访问权限修饰词:
public、protected、包访问权限(没有关键字)、private


1、包:库单元

包内含有一组类,他们在单一的名字空间之下被组织在了一起。

例如:工具库被组织在
java.until
名字空间之下。
ArrayList
的类在其中,全名为:
java.util.ArrayList


创建实例:
java.util.ArrayList list = new java.until.ArrayList();


若想导入单个的类,可以在
import
语句中命名该类:
import java.until.ArrayList;
之后创建实例只需要使用语句
ArrayList list = new ArrayList();
即可。

想要导入所有的类:
import java.until.*;


java源代码文件被称为 “ 编译单元 ” 或 “ 转译单元 ” 。每个编译单元必须有一个后缀名.java,编译单元内可以有一个(不可有多个,最都一个)public类,该类的名称必须与文件的名称相同。

.java文件编译后,在.java文件中的每个类都会有一个输出文件,输出文件名称与.java文件中的每个类的名称相同,只是多了一个后缀名.class。即:
.java
→编译→
.class


java可运行程序是一组可以打包并压缩为一个Java文档文件(JAR,使用Java的jar文档生成器)的.class文件。Java解释器负责这些文件的查找、装载和解释。

类库实际上是一组类文件

package
语句必须是文件中除注释以外的第一句程序代码:
package access;
,表示你在声明该编译单元是名为
access
的类库的一部分。

注意:Java包的命名规则全部使用小写字母,包括中间的字母。

packet
import
是将单一的全局名字空间分割开。

packet
名称的第一部分是类的创建者的反顺序的Internet域名(域名独一无二,因此packet名称也会独一无二)。

packet
名称分解为机器上的一个目录。

***Java解释器的运行过程:***1、找出环境变量CLASSPATH(可以通过操作系统开设置,有时也可以通过安装程序(用来在你的机器上安装Java或基于Java的工具)来设置)。CLASSPATH包含一个或多个目录,用作查找.class文件的根目录。从根目录开始,解释器获取包的名称并将每个句点替换成反斜杠,以从CLASSPATH根中产生一个路径名称。得到的路径会与CLASSPATH中的各个不同的项相连接,解释器就在这些目录中查找与你所要创建的类名称相关的.class文件。(解释器还会去查找某些涉及Java解释器所在位置的标准目录。)

包的名称一定要对应目录路径。

2、Java访问权限修饰词

包访问权限: 没有使用访问权限修饰词时,默认是包访问权限(有时也表示成friendly)。访问器(accessor)和变异器(mutator)方法也成为get/set方法可以读取和改变数值。

public:接口访问权限;

private:你无法访问;

protected:继承访问权限。

3、接口的实现

访问权限的控制,通常被称为具体实现的隐藏

把数据和方法包装进类中,以及具体实现的隐藏,常共同被称作封装

类浏览器是一种以非常有用的方式来查阅所有可用的类,并告诉你用它们可以做些什么(也就是显示出可用成员)的工具。

在Java中,用Web浏览器浏览JDK文档可以得到使用类浏览器的相同的效果。

4、类的访问权限

限制:

1.1 每个编译单元(文件)都只能有一个public类。这表示,每个编译单元都有单一的公共接口,用public类来表现。该接口可以按要求包含众多的支持包访问权限的类;

1.2 public类的名称必须完全.与含有该编译单元的文件名相匹配,包括大小写;

1.3 虽然不是很常用,但编译单元内完全不带public类也是可能的。

类的访问权限只可以是public或protected。如果不希望有其他人对该类拥有访问权限,则可以将所有的构造器都指定为private,从而阻止任何人创建该类的对象。但是有一个例外,就是你在该类的static成员内部可以创建。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息