作者THEBUG (囧rz)
看板java
标题Re: [问题] 请问一个关於method的问题
时间Tue Aug 24 22:59:45 2010
//=========测试程式==================
public class Test{
//Test i = new Test(); 放这里编译完成之後执行会现下面错误 这是为什麽??
// 错误讯息 at Test.<init>(Test.java:2)
public Test a(){
Test i = new Test();
return i;
}
public int b(){
return 1;
}
public static void main(String[] args){
Test m = new Test();
int i = m.a().b();
System.out.println(i);
}
}
//============END======================
→ a761007:如果你m.a()回传的是Test object 你就能m.a().b() 08/24 21:42
推 yellowbooky:我想应该是frame.getContentPane()已经回传一个容器 08/24 21:50
推 yellowbooky:物件了 再用物件的add方法可行 08/24 21:53
推 lvlightvivi:应该要a()的回传物件含有b()函式才能用 08/24 21:58
就如同各位所说的确是只要 a() 回传 Test object 就能 m.a().b()
但我又有问题了
为什麽我上面那段程式
Test i = new Test();
这句一定要放在 public Test a() 这 method 里面??
放在外面就会出现
at Test.<init>(Test.java:2)
这错误呢??
感谢各位的回答
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 115.43.211.230
1F:推 LPH66:你可以回传 this 啊 08/24 23:07
2F:→ THEBUG:哈哈 忘记this的存在 刚刚试 return this; 也可以 08/24 23:11
3F:推 lvlightvivi:放外面不知道会new到什麽时候... 08/24 23:11
4F:→ THEBUG:我不懂楼上的意思 为什麽会变成不知道要new到什麽时候?? 08/24 23:19
5F:推 lvlightvivi:就是每次new Test()时 里面又会new Test() 08/24 23:43
6F:→ THEBUG:原来如此 我懂了 ^^ 08/25 00:16
7F:推 a761007:建议原PO再看熟OO 自然能够明白:) 08/25 01:25