private、public、protected和默认

类中的域最好标记为private;
方法最好标记为public;

  • private:仅对本类可见
  • public:对所有类可见
  • protected:对本包和对所有子类可见
  • 默认(什么都不写):对本包可见

在使用protected的时候需要注意:

在实际应用中,要谨慎使用protected属性。假设需要将设计的类提供给其他程序猿使用,而在这个类中设置了受保护域,由于其他程序猿可以由这个类在派生出新的类,并访问其中的受保护域。在这种情况下,如果需要对这个类实现进行修改,就必须通知所有使用这个类的程序员。这违背了OPP提倡的数据封装的原则。

受保护的方法更具有实际意义。如果需要限制某个方法的使用,就可以将它声明为protected。这表明子类(可能很熟悉祖先类)得到信任,可以正确地使用这个方法,二其他类则不行。

这种方法的一个最好的实例就是Object类中的clone方法,有关他的详细内容请参看第6章。

猜你喜欢

转载自blog.csdn.net/qq_34886018/article/details/79835384