使用this.Method vs ClassName.Method调用静态方法

时间:2014-01-15 19:16:27

标签: java

一个静态方法Func()在一个类中定义。在this.Func中调用它没有编译错误。此外,针对对象调用静态方法没有任何缺点。并且使调用方法简单,因为类名可能难以拼写。   不确定,这是一种很好的java编码方式。

2 个答案:

答案 0 :(得分:3)

如果您正在调用静态方法,则不应使用实例,即使它是编译因为它很容易混淆。请考虑以下事项。

Thread t = new Thread( ... );
t.start();
t.sleep(1000);

最后一个方法不在线程t上运行,因为它是静态的。它会导致当前线程休眠。

Thread t = null;
t.yield(); // compiles and runs even thought `t` is null.

答案 1 :(得分:0)

最好将它与类名一起使用以保持可读性,因为如果有人想在你的代码中进行调试,那么他就不要回过头去看你的变量声明它是否标记为静态,所以它是更好地使用类名,所以不需要回去思考它

stackoverflow.com/questions/7884004/… –

的可能副本