作者snobbery (egoist)
看板java
標題[問題] class裡面自己宣告自己
時間Wed Sep 29 22:47:11 2010
若在test.java裡面有以下:
class ppp{
int i;
}
public class test{
public static void main(String [] args){
ppp t=new ppp();
}
}
那我了解, 因為ppp物件長什麼樣子都定義出來了,
執行順序會是在main產生一個ppp型別的物件叫t.
但是如果test.java變成如下:
public class test{
public void prt(){
System.out.println("subroutine");
}
public static void main(String [] args){
test t=new test();
}
}
這樣我就不太懂意思?
因為test長什麼樣子是規定出來了沒錯,
但是test這個型別的規格裡面卻又產生了自己一份??
這樣不會有循環定義的可能嗎?
然後, 又再什麼時機之下我需要用到這樣的定義方法呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 146.115.81.149
→ tkcn:看一下 static 和 constructor 及 物件建立流程 09/29 22:50
推 a1234957:new出來不是定義 是建立一份instance 09/29 23:24
→ TonyQ:可以看 linkedlist 等結構。除非你在new 自己時new自己,這 09/30 09:09