发表于: 2017-12-13 21:48:27
0 539
一.今日完成
1.梳理Object类和Class类常用API
5.2.Object是Java中所有类的父类
在Java中每个类都是由Object扩展而来,可以使用Objectle类型的变量引用任何类型的对象:
Object obj = new Employee("Harry Hacker", 35000);
Object类型的变量只能用于作为各种值的通用持有者,要相对其中的内容进行具体的操作,还需要清楚对象的原始类型,并进行相应的类型转换.
Employee e = (Employee) obj;
在Java中,只有基本类型(primitive types)不是对象,例如数值,字符和布尔类型等.所有的数组类型,不管是对象数组还是基本类型的数组都扩展于Object类.
5.2.1 equals方法
1.特性
自反性
对称性
传递性
一致性
API java.util.Arrays 1.2
static Boolean equals(type[ ] a, type[ ] b)
如果两个数组长度相等,并且在对应位置上数据元素也均相等,将返回true.数组的元素类型可以是Object,int,long,short,char,byte,boolean,float或double
API java.util.Objects 7
static boolean equals(Object a, Object b)
如果a和b都为null,返回true;如果只有其中之一为mull,则返回flase;否则返回a.equals(b).
5.2.2 hashCode方法
散列码 hash code是由对象导出的一个整型值.
每个对象都有一个默认的散列码,其值为对象的存储地址.
API java.lang.Object
int hashCode()
返回对象的散列码.散列码可以是任意的整数,包括正负,两个相等的对象要求返回相等的散列码.
int hash(Object…..object)
返回一个散列码,由提供的所有对象的散列码组合得到
static int hsahCode(Object a)
如果a为null返回0,否则返回a.hashCode().
API java.Arrays
static int hashCode(type[] a)
计算数a的散列值,组成这个数组的元素类型可以是Object,int,long,short,char,byte,boolean,float或double
5.2.2 toString方法
它用于返回表示对象值的字符串.绝大多数toString方法遵循如下格式:
publicStringtoString(){
return"User{"+
"id="+id+
",username='"+username+'\''+
",passwd='"+passwd+'\''+
",tel='"+tel+'\''+
",email='"+email+'\''+
",login_at="+login_at+
",create_at="+create_at+
'}';
}
最好通过调用getClass().getName()获得类名的字符串,而不要将类名硬加到toString方法中.
publicStringtoString(){
return getClass().getName()+"{"+
"id="+id+
",username='"+username+'\''+
",passwd='"+passwd+'\''+
",tel='"+tel+'\''+
",email='"+email+'\''+
",login_at="+login_at+
",create_at="+create_at+
'}';
}
如果超类使用了getClass().getName(),那么子类只要调用super.toString()就可以了.
随处可见toString方法的主要原因是:只要对象与一个字符串通过操作符"+"连接起来,Java编译就会自动调用toString方法,以便获得这个对象的字符串描述.
强烈建议为每一个自定义的类增加一个toString方法.
Class getClass()
返回包含对象信息的类对象.
boolean equals(Object otherObject)
比较两个对象是否相等,如果两个对象指向同一块存储区域,方法返回true;否则方法返回flase
String toString()
返回描述该对象值的字符串
String getName()
返回这个类的名字
Class getSuperclass()
以Class对象的形式返回这个类的超类信息
5.7.1Class类
在程序运行期间,Java运行时系统自始至终为所有对象维护一个被称为运行时的类型标识.这个信息跟踪着每个对象所属的类.虚拟机利用运行时类型信息选择相应的方法执行.
2.写文学部文章列表页前台接口.
二.明日计划
写文学部文章详情页前台接口.
三.遇到问题
暂无.
四.收获
以上.
评论