静态方法

静态方法是一种不能向对象实施操作的方法,可以认为静态方法是没有this参数的方法。

因为静态方法不能操作对象,所以不能再静态方法访问实例域。但是,静态方法可以访问自身类的静态域。

在下面两种情况下使用静态方法:

  • 一个方法不需要访问对象状态,其所需参数都是通过显式参数提供。
  • 一个方法只需要访问类的静态域。

静态方法还有一种常见的用途。NumberFormat类使用工厂方法产生不同风格的格式对象。


                NumberFormat currencyFormatter=NumberFormat.getCurrencyInstance();
		NumberFormat percentFormatter=NumberFormat.getPercentInstance();
		double x=0.1;
		System.out.println(currencyFormatter.format(x));//prints ¥0.10
		System.out.println(percentFormatter.format(x));//prints 10%

为什么NumberFormat类不利用构造器完成这些操作呢?这主要有两个原因:

  • 无法命名构造器。构造器的名字必须与类名相同。但是,这里希望得到的货币实例和百分比实例采用不同的名字。
  • 当使用构造器时,无法改变所构造的对象类型。而Factory方法将返回一个DecimalFormat类对象,这是NumberFormat的子类。


你可能感兴趣的:(静态方法)