Al heredar una clase en C ++, el usuario puede especificar el especificador de acceso 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.
};
Pero lo mismo no es posible en Java, es decir, se extiende en Java siempre es como herencia "pública" en C ++.
¿Alguien podría explicar la razón de esto?