1. 程式人生 > >java中Object類的getClass方法有什麽用以及怎麽使用?

java中Object類的getClass方法有什麽用以及怎麽使用?

全部 pan spa 下載 index person finalize Beginner ret

Object類的getClass的用法: (視頻下載) (全部書籍)

Object類中有一個getClass方法,m a r k- t o- w i n:它會返回一個你的對象所對應的一個Class的對象,這個返回來的對象保存著你的原對象的類信息,比如你的原對象的類名叫什麽,類裏有什麽方法,字段等。在高級編程當中用的很多,和反射相關。馬克-to-win:現在這個階段還說不清楚,只能先打個比方,反射就像鏡子,你覺得生活當中的鏡子有用嗎? 

例2.1.3---本章源碼

class EmployeeMark {
public EmployeeMark() {
}
}
public class Test {
public static void main(String[] args) {
EmployeeMark e = new EmployeeMark();
/* public final Class getClass() Returns the runtime class of an object
which can be used to describe the class. */
Class cls = e.getClass();
System.out.println("the Class name is: "+ cls.getName());
}
}


result is:
the Class name is: EmployeeMark


Object類的finalize的用法:(視頻下載) (全部書籍)

馬克-to-win:java當中有個垃圾回收機制,具體說,就是當一些對象被創建使用之後若不再使用的話{比如(i)對象被置成null.(ii)局部對象(無需置成null)當程序運行到右大括號.(iii)匿名對象剛用完},就會變成垃圾占用空間,JAVA的自動垃圾回收(gc)線程會在適當的時候自動運行,回收內存。馬克-to-win: 再具體一點,對象被創建之後,垃圾回收(gc)系統就開始跟蹤這個對象的使用情況。垃圾回收系統采用有向圖的方式:開始時對象一定是可達的,剛把它置為null時,它也就變成了不可達的了,這時就是所謂的垃圾。垃圾回收系統就會回收這些內存空間。馬克-to-win:回收之前,先調用該對象的finalize方法。讓其做一些最後的收尾工作。見下例,當p1 = null;時,Java的垃圾回收線程會在適當時間點回收p1對象占據的內存空間。馬克-to-win:回 收之前,首先調用p1的finalize()。但是sun公司不保證finalize方法會被及時地自動執行。所以我們加了一句,System.gc ();建議系統回收一下垃圾。gc代表garbage collection(垃圾回收),finalize方法就被執行了。

例2.1.4---本章源碼

class PersonMark_to_win {
String name;
public PersonMark_to_win(String n) {
name = n;
}
public void finalize() {
System.out.println(name + " 在進行finalize");
}
}
public class Test {
public static void main(String[] args) throws InterruptedException {
PersonMark_to_win p1 = new PersonMark_to_win("張三");
PersonMark_to_win p2 = new PersonMark_to_win("李四");
p1 = null;
// p2 = null;
System.gc();

。。。。。。。。。
詳情請見:http://www.mark-to-win.com/index.html?content=JavaBeginner/javaUrl.html&chapter=JavaBeginner/JavaBeginner3_web.html#UsagegetClass

java中Object類的getClass方法有什麽用以及怎麽使用?