Ao herdar uma classe em C ++, o usuário pode especificar o especificador de acesso como,
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.
};
Mas o mesmo não é possível em Java, ou seja, estende-se em java é sempre como herança "pública" em C ++.
Alguém poderia explicar o motivo disso?