`
java-xb
  • 浏览: 124871 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

类方法和类变量

 
阅读更多
类方法和类变量
类方法:
对象是行为(Java中用方法实现)和属性(Java中用成员变量实现)的组合。属性和对象本身有着相同的生命周期。在任何给定的时间点,对象有着特定的状态,状态是类的全部实例,变量
所组合而成的的快照。因为这个原因,有时候实例变量也被成为状态变量。
行为方法操作或者改变对象的属性。换句话说,行为方法可以改变对象的状态。查询方法返回对象状态的某个片段。
把方法设计成:要么改变类对象状态,要么返回信息。不要两件事多做。
有时候您发现某个方法接受参数,只对这些参数进行处理,然后返回一个值。该方法需要操作对象的状态。这样的方法叫做工具方法。有时候,工具方法在别的语言中被称之为函数。工具方法
是全局的,任何客户代码都可以访问他们。
例如createDate方法是DateUtil中唯一的方法,每个DateUtil实例都是这个方法且没有其他不同的操作,是工具方法(即产生时间)所以没有必要创建DateUtil实例。
/**
 * 
* @param year 年
* @param month 月份
 * @param date  月中的天数
* @return 返回一个根据参数year,month,date组成的日期实例
*/
public static 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();
}
类变量:
除了从同一个类中的其它类方法中调用某个类方法,从任何其它地方调用这个类方法,都必须在类方法的前面加上类名作为限定。
关于初始化的东西
对于一个普通类,在定义它的时候必须给出初始化的操作,初始化可以在构造函数中完成,可以在类的属性声明是完成。
例如:
public class Student {
	
		private String name;
		static final String IN_STATE = "CO";
		private String state = "";  //在属性声明时初始化变量。
		
		
		public Student() {
			this.name = "";  //在构造方法中完成初始化。
		}
		public Student(String name) {
			this.name = name;
		}
		String getName(){
			return name;
		}
   } 
   如果没有初始化实例对象,有可能出现这个异常:
   
 java.lang.NullPointerException
     at.studentinfo.Student.isInState(Student.java:37)
     ........
     对于这个异常,大家一定见得特别多,而往往由于对象实例没有初始化,造成这个异常比比皆是。
    我建议对象实例在创建时就给出初始化,而不是通过各种操作完成实例变量的赋值。(对于这个大家可以各抒己见,欢迎拍砖)。
    下一次探讨接口,我会继续的 ,多谢大家的支持。
   



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics