[Java] Избирательное замещение

feliks28

Допустим есть два класса A и B :


class A
{
public A(int _x)
{
x = _x;
}
public void addX(int _x)
{
x += _x;
sayOk;
}
private void sayOk
{
System.out.println("Ok in A");
}
private int x;
}
class B extends A
{
public B(int _x)
{
super(_x);
}
private void sayOk
{
System.out.println("Ok in B");
}
}


Так вот, при запуске их из main вот так :


...
A a = new A(1);
B b = new B(2);
a.addX(1);
b.addX(1);
...


получим на выходе
Ok in A
Ok in A
Вопрос : можно ли не замещая метод addX получить
Ok in A
Ok in B
Может быть можно как-то переписать его в классе A? (только плиз не банально 2мя System.out.println )

Chupa

sayOk должен быть protected

feliks28

Big thanx!

feliks28

А за счет чего так происходит?
Оставить комментарий
Имя или ник:
Комментарий: