Скажем, есть следующий базовый класс:
package bg.svetlin.ui.controls;
public abstract class Control {
protected int getHeight() {
//..
}
//...
}
Кроме того, в том же пакете есть класс, который наследует:
package bg.svetlin.ui.controls;
public abstract class LayoutControl extends Control {
public abstract void addControl(Control control);
//...
}
Затем есть третий класс в другом пакете:
package bg.svetlin.ui.controls.screen;
public abstract class Screen extends LayoutControl {
//...
}
И, наконец, класс реализации, опять же в другом пакете:
package bg.svetlin.ui.controls.screen.list;
public class List extends Screen {
private final Vector controls = new Vector();
public void addControl(Control control) {
height += control.getHeight();
controls.addElement(control);
}
}
Даже если List
наследуется от Control
, а getHeight()
protected
, есть следующая ошибка:
getHeight () имеет защищенный доступ в bg.svetlin.ui.controls.Control
Я проверил, что мойимпорт прав.Я использую NetBeans.
Есть идеи, что случилось?Я думал, что protected
поля и методы видны детям, даже если последние находятся в другом пакете.
Спасибо!