黑马程序员----------怎样写好一个类
来源:互联网 发布:手机看吃鸡数据软件 编辑:程序博客网 时间:2024/04/28 15:46
----------------------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()方法@Overridepublic int hashCode() {final int prime = 31;int result = 1;result = prime * result + age;result = prime * result + ((name == null) ? 0 : name.hashCode());//保证相同对象返回的哈希值相同,尽量做到不同对象的哈希值不同return result;}//重写equals()方法@Overridepublic boolean equals(Object obj) {//判断自反性if (this == obj)return true;//判断是否为nullif (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方法@Overridepublic String toString() {return "Student [name=" + name + ", age=" + age + "]";}}
----------------------android培训、java培训、期待与您交流! ----------------------
- 黑马程序员----------怎样写好一个类
- 怎样成为一个好程序员
- 好的程序员怎样写代码
- 好的程序员怎样写代码
- 好的程序员怎样写代码
- 好的程序员怎样写代码
- 程序员怎样写好技术博客
- 程序员怎样写好技术博客
- 怎样写一个好的方法
- 怎样成为一个好的程序员
- 怎样写好简历
- 怎样写好简历
- 黑马程序员_怎样在objective-c中定义一个类
- 怎样写好科技论文
- 怎样写好圆珠笔字
- 怎样写好技术文档
- 怎样写好IT文章
- 怎样写好技术贴
- 【单片机】汇编指令英文全称
- 字符串中文乱码、编解码问题
- NYOJ 536 开心的mdd
- 年轻怎样过活
- 网络公开课推荐
- 黑马程序员----------怎样写好一个类
- LeetCode 1 Reverse Words in a String
- 如何使用oracle 的DBMS_SQLTUNE package 来运行 Sql Tuning Advisor 进行sql 自动调优
- 【机器学习】Deep Learning
- 九度 题目1519:合并两个排序的链表
- Vim学习笔记(4)10.大幅改动
- C#开发的一些规范
- 在神州IV开发板上为STemWin 5.22加入触屏驱动
- NYOJ 541 最强的战斗力