一、JDK类库的根类:obiect
1、这个类中的方法都是所有子类通用的。任何一个类默认继承object。就算没有直接继承,最终也会间接继承。
2、obiect类当中有哪些常用的方法?我们去哪里找这些方法呢?
第一种方法:去源代码当中。(但是这种方式比较麻烦,源代码也比较难)
第二种方法:去查阅java的类库的帮助文档
3、什么是API?
应用程序编程接口。(Application Program Interface)
整个JDK的类库就是一个javase的API
每一个API都会配置一套API帮助文档
SUN公司提前写好的这套类库就是APT。
(一般每一份API都对应一份API帮助文档。)
4、常见几种方法:
protected Object clone () //负责对象克隆的
int hashCode()//获取对象哈希值的
boolean equals (Obfect obj) //判断两个对象是否相等
String toStrinq() //将对象转换成字符串形式
protected void finalize() //垃圾回收器负责调用的方法
二、Object类中的toString方法
- Obj类中的toString()方法:
- 源代码:
public string toString() {return this.getClass () .getName () + "@" + Integer.toHexString(hashCode());};
- 源代码上tostring方法的默认实现是:
类名@对象的内存地址转换为十六进制的形式 - tostring()方法的设计目的是:通过调用这个方法可以将一个java对象”转换成字符串形式
- Test:
MyTime类重写tostring()方法之前
public class Test {public static void main(String[] args) {MyTime t1 = new MyTime(1970, 1, 1);//输出引用的时候,会自动调用该引用的toString方法System.out.println("自动调用"+t1);String s1 = t1.toString();System.out.println(s1);}
}
class MyTime{int year;int month;int day;public MyTime(){}public MyTime( int year, int month, int day){this.year = year;this.month = month;this.day = day;}
}
MyTime类重写tostring()方法之后:
public class Test {public static void main(String[] args) {MyTime t1 = new MyTime(1970, 1, 1);String s1 = t1.toString();System.out.println(s1);}
}
class MyTime{int year;int month;int day;public MyTime(){}public MyTime( int year, int month, int day){this.year = year;this.month = month;this.day = day;}public String toString(){return this.year +"年" + this.month + "月" + this.day + "日";}
}