黑马程序员----------怎样写好一个类

                                                       ----------------------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培训、期待与您交流! ----------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值