关于静态方法

来源:互联网 发布:新浪域名 编辑:程序博客网 时间:2024/05/21 10:30

静态方法是不能向对象实施操作的方法。可以认为静态方法是没有this参数的方法,因为静态方法不能操作对象,所以不能在静态方法中访问实例域。但是,静态方法可以访问自身类中的静态域。在什么情况下使用静态方法呢:

1  当一个方法不需要访问对象状态,起所需参数都是通过显示参数提供的。

2   当一个方法只需要访问类的静态域

另一个常见的用法:

package factory;
import java.text.NumberFormat;


/**
 * @author Administrator
 *
 */
public class Factory {

 /**
  * @param args
  */
 public static void main(String[] args) {
  
  NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance();
  NumberFormat percentFormatter = NumberFormat.getPercentInstance();
  double x=0.1;
  
  System.out.println(currencyFormatter.format(x));
  System.out.println(percentFormatter.format(x));

 }

}

结果:

¥0.10
10%

为什么NumberFormat类不利用构造器来完成这些操作呢?原因是:

1    无法命名构造器。构造器的名字必须和类名相同,但是,这里希望将得到的货币实例和百分比实例采用不同的名字

2   当使用构造器是,无法改变所构造的对象模型。而Factory方法将返回一个DecimalFormat类对象,这是NumberFormat的子类。

原创粉丝点击