类中的域最好标记为private;
方法最好标记为public;
- private:仅对本类可见
- public:对所有类可见
- protected:对本包和对所有子类可见
- 默认(什么都不写):对本包可见
在使用protected的时候需要注意:
在实际应用中,要谨慎使用protected属性。假设需要将设计的类提供给其他程序猿使用,而在这个类中设置了受保护域,由于其他程序猿可以由这个类在派生出新的类,并访问其中的受保护域。在这种情况下,如果需要对这个类实现进行修改,就必须通知所有使用这个类的程序员。这违背了OPP提倡的数据封装的原则。
受保护的方法更具有实际意义。如果需要限制某个方法的使用,就可以将它声明为protected。这表明子类(可能很熟悉祖先类)得到信任,可以正确地使用这个方法,二其他类则不行。
这种方法的一个最好的实例就是Object类中的clone方法,有关他的详细内容请参看第6章。