《java编程思想》--访问权限控制

时间:2022-06-19 15:16:29

摘自《Java编程思想》110页:

编译单元:当编写一个java源代码文件时,此文件通常被称为编译单元(也称转译单元),每个编译单元都必须有一个后缀名.java,而在编译单元内则可以有一个public类,该类的名称必须与文件名相同(包括大小写)。每个编译单元只能有一个public类,否则编译器不会接受。如果该编译单元还有额外的类的话,那么在包之外的世界是无法看见这些类的,这是因为他们不是public类,而且他们主要用来为主public类提供支持。

提炼出几点信息:

  1. .java文件的名字必须和编译单元的public类名相同,包括大小写。
  2. 每个编译单元只能有一个public类。
  3. 一个编译单元内的非public类对包外是不可见的。

自己试验所产生的的结果:

1.首先在一个编译单元中定义1个public类Print和一个非public类Range,编译完成后,产生两个.class文件:Print.class,Range.class。
《java编程思想》--访问权限控制
《java编程思想》--访问权限控制
2.将Print.java打包(package com.niu.util,必须写在整个文件的第一行),在另一个文件内导入(import static com.niu.util.*),但是显示
《java编程思想》--访问权限控制
应该写成:import static com.niu.util.Print.*,则运行成功
3.classpath的通过字面的直接翻译反而更好理解,就是编译过后产生的.class文件的路径,而import实际导入的就是需要的.class 文件(目前自己这样理解)。