昨晚练习了几个小时的HELLO WORLD,有几个问题没搞明白,想请教一下:
 main函数中的自变量args有什麽作用呢,在main函数内部调用该参数时怎麽会报错呢?
 一个编译单元内部只能有一个PUBLIC类,那如果我没有特别声明,那该类是PROTECTED还是PRIVATE呢?
为什麽我将其他类定义为PROTECTED 或PRIVATE时编译时会报错呢?
还有,公共类中的PRIVATE方法其他类可以调用吗?
      私有类中的PUBLIC方法呢?

解决方案 »

  1.   

    第一个问题: main()方法的那个String数组是用来接收命令行参数的, 比如你用:>java HelloWorld a b c那么a,b,c会作为三个字符串分别传入main()方法的那个数组参数. 如果命令行没有指定参数, 则数组参数长度为零, 试图使用其中元素自然会报错.
    第二个问题:首先, 要搞清楚: JAVA中的访问控制修饰符共有三个public, protected, private, 而访问控制级别共有四级, 它们按可访问程序由大到小排列是:public > protected > friendly(default) > private默认为friendly, 也就是不指定任何修饰符的情况.用来修饰类的访问控制修饰符只有public(内部类除外), 因此类只有两个访问控制级别, 即public和friendly.public的类和类成员可以在任何地方访问
    而friendly的类和类成员只允许在同一包内访问.
    protected的类成员可访问的范围比friendly稍微大一点, 除了允许包内访问以外, 还允许包外的子类访问.
    private是最私有的一种, 只能在类的内部访问.
      

  2.   

    强烈建议楼主看Thinking in Java
      

  3.   

    我刚看完Thinking in Java的前四章。
    谢谢Dan1980(也该有一些作为了) ,准备结帐了。