1、public:
public表明该数据成员、成员函数对所有用户是开发的,所有用户都可以直接调用它。
2、private:
private意思是私有的,私有的就是说除所属类class本身,任何人都不能直接调用,包括其子类不可以调用。
3、protected:
protected对其子类是可见的,对其他外部类是不可见的,既不可以直接调用。
详细参见下图:
如果不写的话默认为default,其作用域是所属类和同一个package的类都可以调用,子类和其他的外部类是不可以的。Java中没有友元类,可能认为他不是一个好的设计,而是采用了内部类实现C++友元的功能。