----------------------android培訓、java培訓、期待與您交流!
----------------------
當我學了基本的java基礎知識之後,已能夠寫一個標準的學生類了,類裏邊包含基本的屬性和一些方法,具體有:
1.私有的成員屬性
爲了提高安全性,將成員變量全部私有化
2.無參的構造方法和帶成員屬性的構造方法
爲了防止出錯,應該將無參構造方法寫上,爲了方便創建對象的時候給成員變量賦值,提供帶有參數的構造方法
3.公開的set\get方法
爲了提供外界對這個對象的訪問,提供公開的訪問方法
4.重寫hasCode()方法
保證在使用集合對元素操作的時候出現不必要的錯誤,保證在相同\對象的情況下返回相同的哈希值
5.重寫toString()方法
爲了更好的提供學生的基本信息,將toString重寫,返回字符串表示當前對象的形式
6.重寫equals()方法
爲了方便比較兩個學生對象的比較,重寫該方法
一下就是我寫的一個學生類,還應該加上更多的註釋,提高代碼的可讀性.
package cn.itheima;
/**
* 學生類
* @author 張百振
* @version 1.0
* */
public class Student {
// 成員變量
private String name;
private int age;
// 構造方法
public Student() {
super();
}
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
// 提供set\get訪問方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
// 重寫hasCode()方法
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + age;
result = prime * result + ((name == null) ? 0 : name.hashCode());
// 保證相同對象返回的哈希值相同,儘量做到不同對象的哈希值不同
return result;
}
// 重寫equals()方法
@Override
public boolean equals(Object obj) {
// 判斷自反性
if (this == obj)
return true;
// 判斷是否爲null
if (obj == null)
return false;
// 判斷是否爲當前類的實例
if (getClass() != obj.getClass())
return false;
// 強制類型轉換
Student other = (Student) obj;
// 分別判斷屬性是否相等
if (age != other.age)
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}
// 重寫toString方法
@Override
public String toString() {
return "Student [name=" + name + ", age=" + age + "]";
}
}
----------------------android培訓、java培訓、期待與您交流!
----------------------