Object类的使用
说明:
1.object类是所有Java类的根父类;
2.如果在类的声明中,未使用extends关键字指明其父类,则默认父类为java.lang.object类
public class Person{
}
等价于
public class Person extends Object{
}
method(Object obj){ ........ } //可以接收任何类作为其参数
3.Object类只声明了一个空参构造器;
4.Object类中的功能(属性方法)具有通用性;
注:数组也作为Object类的子类出现,可以调用Object类中声明的方法。
属性:无
方法:equals()、toString()、getClass()、finalize()、clone()、wait()、notify()、notifyAll()
equals()方法的使用
1.只适用于引用数据类型
2.Object类中equals()方法的定义
public boolean equals(Object obj) {
return (this == obj);
}
说明:Object类中定义的equals()和 == 的作用是相同的
3.像String 、Date、File、包装类等都重写了Object类中的equals()方法,重写之后比较的不是两个引用的地址是否相同,而是比较的两个对象的实体内容是否相同;
4.手动重写equals()方法
@Override
public boolean equals(Object obj) {
if(this==obj) {
return true;
}
if(obj instanceof Order) { //判断实参是否是Order类型的
Order o=(Order)obj;//强转
return this.orderId==o.orderId&& this.orderName.equals(o.orderName);//比较属性内容是否相同
}
return false;
}
toString()方法的使用
1.当我们输出一个对象的引用时,实际上就是调用的当前对象的toString () 方法;
2.Object类中toString() 方法的定义
public String toString() {
return this; //返回当前对象
}
3.像String 、Date、File、包装类等都重写了Object类中的toString()方法
4.自定义类重写toString()方法
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";//返回实体内容
}
包装类的使用
1.为什么要有包装类(或封装类)
为了使基本数据类型的变量具有类的特征,引入包装类。
2.基本数据类型与对应的包装类:
3.需要掌握的类型间的转换:(基本数据类型、包装类、String)
基本数据类型<—>包装类:JDK 5.0 新特性:自动装箱 与自动拆箱
基本数据类型、包装类—>String:调用String重载的valueOf(Xxx xxx)
String—>基本数据类型、包装类:调用包装类的parseXxx(String s)
注意:转换时,可能会报NumberFormatException