日期:2014-05-20  浏览次数:20726 次

请教二者的区别?
.....public class Box{
  public static void main(String args[]) {
  new tool(2).cleanup();
  }
}
和.....public class Box{
  public static void main(String args[]) {
  new tool(2);
  }
}
其中:tool是类,cleanup()是方法,在什么情况下用到new tool(2).cleanup()这样的形式?
谢谢,

------解决方案--------------------

压根儿就不是问题

new tool(2).cleanup();和 tool t = new tool(2);t.cleanup();这两条语句的效果是一样的















------解决方案--------------------
在你需要用cleanup()方法,但又没有tool实例的时候就可以这么写
------解决方案--------------------
对于需要使用 new YouObject().method() 形式调用的方法,一半都应该把它定义为静态的方法。
------解决方案--------------------
.....public class Box{
public static void main(String args[]) {
new tool(2).cleanup();
}
}
---------------------------------------
上面这段程序,你调用的是tool(2)这个类中的cleanup()方法,因为这个方法不是静态的,所以需要先new一个对象以后才能使用,如果你在tool(2)类里面将cleanup()定义为static的方法 就可以 tool(2).cleanup() 这样直接使用,而不需要先new一个对象。

和.....public class Box{
public static void main(String args[]) {
new tool(2);
}
}
----------------
而你在这段程序里面只是new出来一个tool(2)的对象,而没有变量指向他,基本上这句话没什么用。