Object 類 是所有類的根基 默認情況下所有的類都會繼承它
Object類中存在一個 toString 方法 這個方法 是隱含的 我們經常用到但是沒有注意過
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);
}
}
上面這個簡單的例子中就將我們的c 這樣一個整形轉化成一個字符串進行輸出 這樣使用的就是默認的toString 方法 使用的是根基類的繼承方法
但是我們如果想要去打印一個引用類型的話 可能就達不到預期的效果 看一個例子
public class Test{
public static void main(String args[]){
Dog d=new Dog();
System.out.println("d:=" +d);
}
}
class Dog{
}
這樣去實現就會打印出一個hashcode 也就是在內存中的位置 怎么辦?
必須重寫 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
在我們需要輸出 引用類型的時候可能需要經常的使用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.