java - Abstract Class - Why is my protected method publicly accessible? -
why can access dostuff()
method in main method below? since dostuff()
protected, expect testclassimplementation
has access it.
public abstract class abstracttestclass { protected void dostuff() { system.out.println("doing stuff ..."); } } public class testclassimplementation extends abstracttestclass{ } public class myprogram { public static void main(string[] args) { testclassimplementation test = new testclassimplementation(); test.dostuff(); //why can access dostuff() method here? } }
looks myprogram
class in same package of abstracttestclass
. if so, can access protected
, public
members of classes in same package.
covered in java tutorials:
modifier class package subclass world public y y y y protected y y y n no modifier y y n n private y n n n
in order fix this, move abstracttestclass
package. similar other relevant classes.
more info:
Comments
Post a Comment