java常用类
1.Object类
java.lang.Object
Object:类 Object 是类层次结构的根类。每个类都使用 Object 作为超类(父类)'
2.class类
public final Class getClass():表示当前正在运行的类 (跟反射有关系!)
返回值类型:Class (跟反射相关:)
Class(java.lang.Class): (了解)
正在运行字节码文件...
Class类中有一个:getName():
public String getName():以字符串展示字节码文件对象所表示实体
3.面试题:(关于字节码文件的方式)
获取一个类的字节码文件对象有几种方式?
有三种方式
目前:第一种
Object类中getClass()方式
第二种:
任意Java类型class属性
4.equals方法
Object类中的equals方法
public boolean equals(Object obj):表示其他对象当前obj对象是否 "相等"
5.面试题:(关于equals和==的区别)
面试题:
==和equals的区别?
==:
连接如果是基本数据类型(类型一致),表示数据值是否相同
连接如果是两个引用数据类型(类型一致),比较的是两个对象的地址值是否相同
equals方法:
默认比较的是地址值是否相同,下面s1和s2两个对象的成员信息是一致,认为同一个人
需要子类重写Object类中的equals方法,比较的是两个对象的内容相同
当此方法被重写时,通常有必要重写 hashCode方法
自动生成: alt+shift+s---h
重写之后的equals方法:做一些列业务判断
判断地址值相同
依次判断传进来的对象是否为空
判断两个类型是否同一个类型
将Object---->向下转型Student
判断两个类型中age(int) :比较值是否相同
如果相同,
继续name(String类型),判断name的内容相同 (不相同,不成立)
结果:true
6.toString方法
Object类中另一个方法:toString()
public String toString()
返回该对象的字符串表示(以一个文本格式体现出来的简明易于读懂的信息表达式)
注:建议所有的子类重写Object类中的toString()
一般情况:自动生成
在实体类中通过alt+shift+s---s 重写Object类中toString(),否则就是地址值,没有意义!
7.hastable方法
Object类
public int hashCode()方法
返回该对象的哈希码值(通过哈希表:后面Hastable(哈希算法...)),
理解为地址值(不是实际意义的地址值)