1. 在java原文件中,可以有多个类,但是只能有一个public类,而且这个类名字和文件名字相同。
2. 在java解释器运行的时候 ,它首先去找classpath环境变量中,这些变量中有路径,java解释器就将这些目录当初根目录去找class文件。但是如果使用jar包,需要将文件名字也加到环境变量中间。如果有相同的类名字,就可以起冲突,这个时候需要明确指明类的位置。CLASSPATH需要大写
3. Java中的public,private,protect三个访问控制符,应该放在类的每个成员的定义的前面。不管这个成员是数据还是方法,一个访问控制符只管它后面一个成员,不象c++那样。Java中没有写三个访问控制符的话就使用默认控制权限。
4. 默认控制权限(package权限):同一个包内的类可以访问。Public:任何人,都可以访问这个成员。Private:表示除了这个类(包含这个成员的类)的方法,其它的一律不能访问。Protect:基类的方法可以访问,但是其他类不能访问
5. 每个文件(编译单元)中只能有一个public类,但是可以同时有多个辅助功能的类,如果一个文件中有两个或两个以上的public类,编译器将报错。Public类的名称需要和文件名称相同,包括字母的大小写要相同。否则编译器也将报错。文件中可以没有public类,虽然这样少见,这时文件名字可以随便取。
6. 类不能是private的和protect,类只有两种类型,public和package类型。如果你不想别人访问这个类 ,你可以将构造函数设置为private,这样别人就没有办法创建这个类的对象了,你可以提供一个static方法来创建对象。(注解一:另外一个影响是该类构造函数是private类型的。那么它不可继承。注解二:内部类可以使private和protected的。(有点不懂,待后面章节再理解))
7. 访问控制的两大原因:一个是禁止用户去碰它们不该碰的东西。这样可以简化它们对类的理解。二是让类库的设计者可以在不惊动客户程序员的前提下修改类库的内部运行机制。