Object 類 是所有類的根基 默認(rèn)情況下所有的類都會(huì)繼承它
Object類中存在一個(gè) toString 方法 這個(gè)方法 是隱含的 我們經(jīng)常用到但是沒有注意過
eg:
public class Test{
public static void main(String args[]){
int a=100;
int b=200;
int c;
c=a+b;
System.out.println("a+b= "+c);
}
}
上面這個(gè)簡單的例子中就將我們的c 這樣一個(gè)整形轉(zhuǎn)化成一個(gè)字符串進(jìn)行輸出 這樣使用的就是默認(rèn)的toString 方法 使用的是根基類的繼承方法
但是我們?nèi)绻胍ゴ蛴∫粋€(gè)引用類型的話 可能就達(dá)不到預(yù)期的效果 看一個(gè)例子
public class Test{
public static void main(String args[]){
Dog d=new Dog();
System.out.println("d:=" +d);
}
}
class Dog{
}
這樣去實(shí)現(xiàn)就會(huì)打印出一個(gè)hashcode 也就是在內(nèi)存中的位置 怎么辦?
必須重寫 toString 方法
修改一下
public class Test{
public static void main(String args[]){
Dog d=new Dog();
System.out.println("d:=" +d);
}
}
class Dog{
public String toString(){
return "is a hot dog";
}
}
重寫toString 方法 這樣就能夠正常的打印出 is a hot dog
在我們需要輸出 引用類型的時(shí)候可能需要經(jīng)常的使用toString 方法
//---- 附錄, Object的方法
protected Object
clone()
Creates and returns a copy of this object.
boolean
equals(Object obj)
Indicates whether some other object is "equal to" this one.
protected void
finalize()
Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
Class<?>
getClass()
Returns the runtime class of this Object
.
int
hashCode()
Returns a hash code value for the object.
void
notify()
Wakes up a single thread that is waiting on this object's monitor.
void
notifyAll()
Wakes up all threads that are waiting on this object's monitor.
String
toString()
Returns a string representation of the object.
void
wait()
Causes the current thread to wait until another thread invokes the notify()
method or the notifyAll()
method for this object.
void
wait(long timeout)
Causes the current thread to wait until either another thread invokes the notify()
method or the notifyAll()
method for this object, or a specified amount of time has elapsed.
void
wait(long timeout, int nanos)
Causes the current thread to wait until another thread invokes the notify()
method or the notifyAll()
method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.