本帖最后由 suanleba2 于 2013-10-09 10:33:43 编辑

解决方案 »

  1.   

    friendly是只能在同一个包下访问
    一个java文件里只能有一个public类
      

  2.   


    我问的是 一个包里的类不是public, 但是它的成员是public, “这 样 做 有 什 么 意 义 ”?
      

  3.   

    成员声明为public则可以在其他类中调用该成员
    至于类声明为public
    那是和类文件名相对应的那个。。
      

  4.   

    你给的例子和他的例子不一样,你的声明成public暂时没有意义,包外看不到这个类
    但是书上的例子是有意义的,因为Detergent extends Cleanser,即如果一个类不是final类,是可能或是预计一定会被继承,那他的成员声明成public可能取决于是否允许子类为公共类时是否暴露这些成员啊他书上把main函数写在了同一个类里,显示不出效果,比如你将main放到另一个包的某个类里可以看到区别