此代码取自SCJP练习测试:
3. public class Bridge { 4. public enum Suits { 5. CLUBS(20),DIAMONDS(20),HEARTS(30),SPADES(30),6. NOTRUMP(40) { public int getValue(int bid) { return ((bid-1)*30)+40; } }; 7. Suits(int points) { this.points = points; } 8. private int points; 9. public int getValue(int bid) { return points * bid; } 10. } 11. public static void main(String[] args) { 12. System.out.println(Suits.NOTRUMP.getBidValue(3)); 13. System.out.println(Suits.SPADES + " " + Suits.SPADES.points); 14. System.out.println(Suits.values()); 15. } 16. }
在线8点被声明为私有,在第13行它被访问,所以从我可以看到我的答案将是编译失败.但是书中的答案却说不然.我在这里遗漏了什么,还是书中的拼写错误?
解决方法
单个外部类中的所有代码都可以访问该外部类中的任何访问级别.