一个.java文件就是一个编译单元。每个编译单元只能有一个public类,如果还有额外的类,那么这些类在包之外是不可见的,他们主要是为了给public类提供支持。
在编译一个.java文件时,会产生多个.class文件(如果.java文件中有很多个类)。所以,编译少量.java文件会产生大量的.class文件。
包访问权限:
包中所有的类都对那个成员对象或方法都有访问权限,而包之外的类却无法访问。
private:
除了当前的类对象,任何其他的类都无法访问该对象或方法。
protect:
子类以及包内的类可访问。
如果某个类的构造器是private修饰的,那么就无法直接通过new来创建对象。但是可以这样做:
/**
*单例模式
*只会生成一个d1引用
*/
public class Demo{
private static Demo d1 = new Demo();
private Demo(){}
public static Demo getInstance(){
return d1;
}
}