Alternative to calling a static method via an inst

2019-03-03 10:56发布

问题:

JOptionPane jop = new JOptionPane( );
jop.showMessageDialog(“This is never done”);

I'm told that this is done in poor taste. I mean it works, but apparently a "pro" would not do it thus as showMessageDialog is static. Is there a better way to write this?

回答1:

A static method can be invoked without a reference to an instance:

JOptionPane.showMessageDialog("This is never done");

Actually, these line:

JOptionPane jop = new JOptionPane();
jop.showMessageDialog("This is never done");

will be converted at compile time to:

JOptionPane jop = new JOptionPane();
JOptionPane.showMessageDialog("This is never done");


回答2:

Why are you creating an object to simply call its static method? There's no reason for it. JOptionPane.showMessageDialog("This is never done"); is all you need.