| Article: |
Nested Classes, Part 1 | |
| Subject: | Accessing Protected Members | |
| Date: | 2004-05-18 12:33:43 | |
| From: | bdell | |
|
I changed resolution from private to protected access and ColorMonitorScreen compiled just fine, so I don't think the statement, "Since ColorPixelPoint is not a member of BasicMonitorScreen, access to BasicMonitorScreen's private and protected members is not allowed," is entirely correct.
|
||
Showing messages 1 through 3 of 3.
-
Accessing Protected Members
2004-05-18 14:33:35 Robert Simmons Jr. (Kraythe) [Reply | View]
-
Accessing Protected Members
2004-05-18 21:28:10 bdell [Reply | View]
I placed BasicMonitorScreen in package package1 and ColorMonitorScreen in package package2 and it still compiles. I also tried 1.4.2 and it works there as well. Perhaps I am misunderstanding what the "other" class is.
Given the way inner classes are implemented, it seems natural to provide access as the accessor method the inner class depends on would have access to protected members of the enclosing class's super-class and, as I wrote before, it seems consistent with the definition of protected access. I couldn't find anything in the Java Language Specification that said protected members in this circumstance shouldn't be accessible. -
Accessing Protected Members
2004-05-21 15:42:38 kristianmonsen [Reply | View]
I understand it so that if the enclosing class can access the variable, than the inner class can as well. Since the enclosing class is a subclass of the class where the variable is declared, it will always be able to access a protected variable.





I appreciate the feedback.