类方法和类变量

     对象是行为(Java中用方法实现)和属性(Java中用成员变量实现)的组合。属性和对象自己有着相同的生命周期。在任何给定的时间点,对象有着特定的状态,状态是类的所有实例变量所组合而成的快照。由于这个缘由,有时候实例变量也被称之为状态变量。java

     行为方法操做或者改变对象的属性。换句话说,行为方法能够改变对象的状态。查询方法返回对象状态的某个片段。函数

     注意:通常咱们将方法设计成:要么改变对象的状态,要么返回信息。不要两件事情都作。工具

   有时候,您发现某个方法接受参数,只对这些参数进行处理,而后返回一个值。该方法不须要操做对象的状态。这样的方法叫作工具方法。有时候,工具方法在别的语言中被称之为函数。工具方法是全局的:任何客户代码均可以访问它们。设计

   有时候,在工具类中建立实例是没有什么意义的,例如,DateUtil 的方法createDate,该方法以月份、天、和年份做为参数,最后返回Date 对象。方法createDate 不改变其它数据。若是不去建立DateUtil 对象,还会稍稍简化您的代码。最后,由于createDate 是DateUtil 中惟一的方法,因此没有必要建立DateUtil 实例。由于这些缘由,createDate 是类方法的候选者。对象

原:生命周期

package studentinfo;get

import java.util.*;class

public class DateUtil {import

     public Date createDate(int year, int month, int date) {变量

          GregorianCalendar calendar = new GregorianCalendar();

          calendar.clear();

          calendar.set(Calendar.YEAR, year - 1900);

          calendar.set(Calendar.MONTH, month - 1);

          calendar.set(Calendar.DAY_OF_MONTH, date);

         return calendar.getTime();

}

}


重构:

package sis.studentinfo;

import java.util.*;

public class DateUtil {

    private DateUtil() {}

    public static Date createDate(int year, int month, int date) {

        GregorianCalendar calendar = new GregorianCalendar();

        calendar.clear();

        calendar.set(Calendar.YEAR, year);

        calendar.set(Calendar.MONTH, month - 1);

        calendar.set(Calendar.DAY_OF_MONTH, date);

        return calendar.getTime();

}

}

相关文章
相关标签/搜索