一、Java类成员的访问权限:
public > protected > 同包(default) > private
private | default | protected | public | |
同一类 | ||||
同一包中的类 | ||||
子类 | ||||
其他包中的类 |
二、C++类成员的访问权限
public > protected > private(default)
private | protected | public | |
同一类 | |||
子类 | |||
其他类 |
三、不同点
1. Java类默认的类成员权限是同一包中的类都可访问;C++类默认的类成员权限是仅在同一类中可访问(private)。
2. Java类的protected成员权限是不仅同一包中的类可访问,而且其他包中的派生类也可访问;C++类的protected成员权限仅在派生类可访问。
3. C++类的继承也分三种类型,不同类型继承的父类成员在子类中具有不同的权限:
public继承 | protected继承 | private继承 | |
public属性 | public | protected | private |
protected属性 | protected | protected | private |
private属性 | 不可见 | 不可见 | 不可见 |