Java的静态域以及封装性相关

本文通过EmployeeTest类展示了Java中封装性的重要性,强调了返回对象克隆而非原始引用以保护封装性。同时,文章介绍了Java静态域的概念及其作用,通过实例说明了静态变量与静态方法的特点。

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 }

转载于:https://www.cnblogs.com/lowitty/archive/2012/11/13/2768223.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值