RT..代码如下.class Cleanser
{
private String s = new String("Cleanser");
public void append(String a) { s += a; }
public void dilute() { append(" dilute() "); }
public void apply() { append(" apply() "); }
public void scrub() { append(" scrub() "); }
public String toString() { return s; };
public static void main(String[] args)
{
Cleanser x = new Cleanser();
x.dilute(); x.apply(); x.scrub();
System.out.print(x);
}
}public class Detergent extends Cleanser
{
public void scrub()
{
append(" Detergent.scrub() ");
super.scrub();
}
public void foam() { append(" foam() "); }

public static void main(String[] args)
{
Detergent x = new Detergent();
x.dilute();
x.apply();
x.scrub();
x.foam();
System.out.println(x);
System.out.println(" Testing base class: ");
Cleanser.main(args);
}
}在Detergent类里的Cleanser.main(args);语句是什么意恩呢.? 谢谢.

解决方案 »

  1.   

    调用Cleanser的main()方法!
    args是个String数组。
    如果运行java Detergent aa bb,那么args[0]="aa",args[1] = "bb"
      

  2.   

    main()方法只是一个程序的入口,做为一个独立运行类的标识.字符串数组args只是为这个类提供用户键盘输入信息的存储空间(如果必要的话)估计你是初学,你可以试着把main函数的各个组成部分(e.g:public/static/void/string[]/args/)挨个都改一下或者去掉来看效果,这样你会理解得透一点的.
      

  3.   

    请问为什么我把Cleanser.main(args);改成如下就不行呢
    Cleanser.main(1234); 
    Cleanser.main(sfsfs);
    Cleanser.main("dfsfs");它这个不是只跟它传参数就行了吗.? 为什么一定要是args呢?
      

  4.   

    我也是刚学 
    我认为不应该有两public static void main(String[] args)的函数吧