替代通过实例调用静态方法

use*_*571 0 java static joptionpane

JOptionPane jop = new JOptionPane( );
jop.showMessageDialog(“This is never done”);
Run Code Online (Sandbox Code Playgroud)

我被告知这样做的味道很差.我的意思是它有效,但显然"pro"不会这样做,因为showMessageDialog是静态的.有没有更好的方法来写这个?

Eng*_*uad 7

static方法可以在不向实例的引用被调用:

JOptionPane.showMessageDialog("This is never done");
Run Code Online (Sandbox Code Playgroud)

实际上,这些行:

JOptionPane jop = new JOptionPane();
jop.showMessageDialog("This is never done");
Run Code Online (Sandbox Code Playgroud)

将在编译时转换为:

JOptionPane jop = new JOptionPane();
JOptionPane.showMessageDialog("This is never done");
Run Code Online (Sandbox Code Playgroud)