標籤:
在日常的Java項目開發中,entity(實體類)是必不可少的,它們一般都有很多的屬性,並有相應的setter和getter方法。entity(實體類)的作用一般是和資料表做映射。所以快速寫出規範的entity(實體類)是java開發中一項必不可少的技能。
在項目中寫實體類一般遵循下面的規範:
1、根據你的設計,定義一組你需要的私人屬性。
2、根據這些屬性,建立它們的setter和getter方法。(eclipse等整合開發軟體可以自動產生。具體怎麼產生?請自行百度。)
3、提供帶參數的構造器和無參數的構造器。
4、重寫父類中的eauals()方法和hashcode()方法。(如果需要涉及到兩個對象之間的比較,這兩個功能很重要。)
5、實現序列化並賦予其一個版本號碼。
下面是我寫的一個實體類(entity)例子:具體的細節都用注釋標註了。
1 class Student implements Serializable{ 2 /** 3 * 版本號碼 4 */ 5 private static final long serialVersionUID = 1L; 6 //定義的私人屬性 7 private int id; 8 private String name; 9 private int age;10 private double score;11 //無參數的構造器12 public Student(){13 14 }15 //有參數的構造器16 public Student(int id,String name,int age, double score){17 this.id = id;18 this.name = name;19 this.age = age;20 this.score = score;21 }22 //建立的setter和getter方法23 public int getId() {24 return id;25 }26 public void setId(int id) {27 this.id = id;28 }29 public String getName() {30 return name;31 }32 public void setName(String name) {33 this.name = name;34 }35 public int getAge() {36 return age;37 }38 public void setAge(int age) {39 this.age = age;40 }41 public double getScore() {42 return score;43 }44 public void setScore(double score) {45 this.score = score;46 }47 //由於id對於學生這個類是唯一可以標識的,所以重寫了父類中的id的hashCode()和equals()方法。48 @Override49 public int hashCode() {50 final int prime = 31;51 int result = 1;52 result = prime * result + id;53 return result;54 }55 @Override56 public boolean equals(Object obj) {57 if (this == obj)58 return true;59 if (obj == null)60 return false;61 if (getClass() != obj.getClass())62 return false;63 Student other = (Student) obj;64 if (id != other.id)65 return false;66 return true;67 }68 69 }
一個學生的Java實體類就基本完成了。
Java中entity(實體類)的寫法規範