package three; public class C { /** * constructor * @param v velocity in m/s. */ protected C( int v ) { this.v = v; } private final int v; } //////////////////////////////// package four; import three.C; class D extends C { /** * constructor */ public D() { super(10); // ok to use C protected constructor via super. } void myMethod() { C c = new C(3); // not ok, C would have to be public for this to work. D d = new D(); // ok } }