在面向对象的设计中,最关键的问题就是“将会变和不会变的东西分离开来。”
Java 的源代码文件通常被称为编译单元。每个编译单元都必须是一个以 .java 结尾的
文件,而且其中必须有一个与文件名相同的public 类 (大小写也必须相同,但是不包括 .java 的文件扩展名)。每个编译单元只能有一个public 类,否则编译器就会报错。如果编译单元里面还有别的类,那么这些类就成了这个主要的public 的类的“辅助”类了,这是因为它们都不是public 的,因此对外面世界来说它们都是看不到的。
编程的时候,public,protected 以及private 这三个Java 访问控制符,应该放在类的每个成员的定义部分的前面,不管这个成员是数据还是方法。一个访问控制符只管它所定义的这一项。这同C++形成了鲜明的对比。C++的访问控制符会一直管下去,直到出现另一个。
类不能是private(这样除了这个类自己,其它人都不能访问了)或protected 的。[30]因此类只有两种访问权限:package 权限和public。如果你不希望别人访问这个类,你可以将它的构造函数做成private 的,这样除你之外,没人可以创建那个类的对象了。而你则可以使用一个static 方法来创建对象。
未完。。。
文件,而且其中必须有一个与文件名相同的public 类 (大小写也必须相同,但是不包括 .java 的文件扩展名)。每个编译单元只能有一个public 类,否则编译器就会报错。如果编译单元里面还有别的类,那么这些类就成了这个主要的public 的类的“辅助”类了,这是因为它们都不是public 的,因此对外面世界来说它们都是看不到的。
编程的时候,public,protected 以及private 这三个Java 访问控制符,应该放在类的每个成员的定义部分的前面,不管这个成员是数据还是方法。一个访问控制符只管它所定义的这一项。这同C++形成了鲜明的对比。C++的访问控制符会一直管下去,直到出现另一个。
类不能是private(这样除了这个类自己,其它人都不能访问了)或protected 的。[30]因此类只有两种访问权限:package 权限和public。如果你不希望别人访问这个类,你可以将它的构造函数做成private 的,这样除你之外,没人可以创建那个类的对象了。而你则可以使用一个static 方法来创建对象。
未完。。。