KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Say there's the following base class: package bg.svetlin.ui.controls; public abstract class Control { protected int getHeight() { //.. } //... } Also, in the same package, there's a class that inherits: package bg.svetlin.ui.controls; public abstract class LayoutControl extends Control { public abstract void addControl(Control control); //... } Then, there's a third class in another package: package bg.svetlin.ui.controls.screen; public abstract class Screen extends LayoutControl { //... } And, finally, there's the implementation class, again in a different package: 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); } } Even though List inherits from Control , and the getHeight() is protected , there's the following error: getHeight() has protected access in bg.svetlin.ui.controls.Control I've checked that my imports are right. I'm using NetBeans. Any idea what's wrong? I thought protected fields and methods are visible to the children even if the latter are in a different package. Thanks!
Tags (comma-separated)
Save Edits
Cancel