Унаследовав класс в C ++, пользователь может указать спецификатор доступа, например,
class Base
{
public int mem1;
protected in mem2;
};
class Derived1 : **private** Base
{
// mem1 will be private here.
// mem2 will be private here.
};
class Derived2 : **protected** Base
{
// mem1 will be protected here.
// mem2 will be protected here.
};
class Derived2 : **public** Base
{
// mem1 will be public here.
// mem2 will be protected here.
};
Но то же самое невозможно в Java, т. Е. Extends в java всегда похож на «публичное» наследование в C ++.
Может ли кто-нибудь объяснить причину этого?