| Author |
protected access modifier
|
Puja S
Ranch Hand
Joined: Jan 06, 2005
Posts: 51
|
|
Hi, package testpkg.p1; public class ParentUtil { public int x = 420; protected int doStuff() { return x; } } package testpkg.p2; import testpkg.p1.ParentUtil; public class ChildUtil extends ParentUtil { public static void main(String [] args) { new ChildUtil().callStuff(); } void callStuff() { System.out.print("this " + this.doStuff() ); ParentUtil p = new ParentUtil(); System.out.print(" parent " + p.doStuff() ); } } which statement is true? 1. The code compiles and runs, with output this 420 parent 420. 2.If line 8 is removed, the code will compile and run. 3.If line 10 is removed, the code will compile and run. 4.Both lines 8 and 10 must be removed for the code to compile. 5.An exception is thrown at runtime. The answer ios 3....Why? Can anybody explain me. I thought the answer was 1. Thanks.
|
 |
Mike Gershman
Ranch Hand
Joined: Mar 13, 2004
Posts: 1272
|
|
|
In order to acess a protected member of a superclass that is in another package, you must use a reference type of your class or a subclass of your class. So this was OK, because it is of type ChildUtil, but p is not OK because it is of type ParentUtil.
|
Mike Gershman
SCJP 1.4, SCWCD in process
|
 |
Puja S
Ranch Hand
Joined: Jan 06, 2005
Posts: 51
|
|
Thanks Mike, You said "You must use a reference of your class or a subclass of your class to access the protected member".......I am not able to understand how a subclass of the class can be used.Please can you give me an example. Thanks
|
 |
Puja S
Ranch Hand
Joined: Jan 06, 2005
Posts: 51
|
|
|
Thanks Mike........I understood the concept.
|
 |
meena latha
Ranch Hand
Joined: Jan 24, 2005
Posts: 219
|
|
|
Hi ............i am clear about the concept can any one of you please explain to me.
|
 |
 |
|
|
subject: protected access modifier
|
|
|