EmployeeTest类,用于定义一个简单的属性类。
1 package yang.src; 2 3 import java.util.Date; 4 5 public class EmployeeTest { 6 private Date hireDay; 7 public static final int gId = 10; 8 9 public int iData = 11; 10 public static int iData1 = 12; 11 12 public Date getHireDay() { 13 return hireDay; 14 } 15 16 public Date getCloneHireDay(){ 17 return (Date)this.hireDay.clone(); 18 } 19 20 public void setHireDay(Date hireDay) { 21 this.hireDay = hireDay; 22 } 23 24 public EmployeeTest(int year,int mouth,int day) { 25 this.hireDay = new Date(year - 1900,mouth - 1,day); 26 } 27 28 public static void funcTest(){ 29 } 30 }
MainSrc类,用于进行EmployeeTest类的实例化与封装性测试调用:
1 package yang.src; 2 3 import java.util.Date; 4 5 /** 6 * 7 * @author lowitty 8 * @version V 1.0 9 * 应该尽量避免编写返回引用可变对象的访问器方法。 10 * 因为如果在这样做的话可能会严重破坏封装性,应该返回对对象的克隆。 11 * 12 * 1,静态域(静态变量)与静态方法 13 在Java中,如果将一个域(变量)定义为static,那么每个类中只有这样一个域(值),而不管这个类有多少个拷贝。 14 静态域的ID属于特定的类,并不属于该类的某一个实例。 15 Class Employee{ 16 public int eId; 17 public static int nextId; 18 } 19 每一个雇员对象都有自己特有的EID,但是所有雇员类的实例都共享一个nextId.静态域只属于类,不属于类的实例,因此静态域又叫做类域。 20 * 21 */ 22 23 public class MainSrc { 24 public static void main(String[] args){ 25 EmployeeTest em = new EmployeeTest(1989,12-1,23); 26 Date d = em.getHireDay(); 27 double b = 10*365.25*24*60*60*1000; 28 d.setTime(d.getTime() - (long)b); 29 System.out.println(em.getHireDay() + "\n" + d + "\n" + em.gId + "\t" + EmployeeTest.gId); 30 } 31 }