java里的类和类成员都可以用访问控制符修饰,那么既然成员用控制符修饰了为什么还要用控制符修饰类?如果冲突了怎么办?比如public class A里有个成员是private的,那么这个成员的可访问性怎么确定?

解决方案 »

  1.   

    Read chapter 1 of this book:SCJP Sun Certified Programmer for Java 5 Study Guide (Exam 310-055) 
    byKathy Sierra and Bert Bates 
    McGraw-Hill/Osborne 2006 (864 pages) 
    ISBN:0072253606 
      

  2.   

    除了内部类有私有外,就没有了私有类,最低限度的类也是包共享的.
    实例域被声明为private的,那是因为不给你修改实例域的机会,这就是封装的特性.
    如果实例域随便修改了,那方法的作用就不大了,你可以随时对这个实例修改,那将在以后会出现很多BUG.而且类的修饰不能影响到实例域,也就是说,实例域一般都被声明为private的才安全,那样,别人要修改你的数据,那么就不能直接修改了,要通过方法修改,如果出现BUG,将可以直接寻找方法,不用寻找实例域,如果想C++那就要找死人了.
      

  3.   

    你是说class的访问控制大于成员的访问控制吗?如果类没有声明为public的,而类成员声明为public的,那么这个成员的真正访问级别是什么?
      

  4.   

    如果Class没有声明public那么他的成员也是,没有,注意,有的时候,类的public和方法的public理解不同,以我现在的工夫没办法解释,
    记得结帖啊,哥们.
      

  5.   

    或者说是在别的包中new一个没有加public的类对象是不行的,哪种解释对啊?
      

  6.   

    构造器不public就是空的,空的就代表是自身包里面可以用,外包就不行了,要是用了private,那你就不用写了,写了还浪费时间和精力.