java中静态方法的目的

前端之家收集整理的这篇文章主要介绍了java中静态方法的目的前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我对 java中静态方法的使用感到困惑,例如,如果main方法是静态的,那么它是有意义的,但是编码时我们已经有了对象
JFrame frame= new JFrame(); 
 frame.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);// here why not frame.EXIT_ON_CLOSE

同样的方式,当我们使用

GridBagConstraints c= new GridBagConstraints();// we have an object but still
 c.anchor = GridBagConstraints.PAGE_END;

任何人都可以解释一下,有什么特别的原因吗?

解决方法

静态方法和字段属于类中的所有对象,而非静态方法属性属于类的特定实例.在您的示例中,无论您创建多少个JFrame框架对象,访问frame.EXIT_ON_CLOSE将产生相同的确切结果.要明确说明这个事实,使用静态成员(也称为“类成员”).

相同的逻辑适用于静态方法:如果一个方法不访问实例变量,其结果将与您的对象的状态无关. main(String [] args)方法是一个这样的例子.其他常见的示例包括各种工厂方法,基元解析方法等.这些方法不对实例进行操作,因此它们被声明为静态的.

猜你在找的Java相关文章