作者adrianshum (Alien)
看板java
标题Re: [问题] 匿名内部类别的建构函数怎麽用?
时间Wed Apr 29 10:31:29 2009
※ 引述《ozone (加油)》之铭言:
: 标题: [问题] 匿名内部类别的建构函数怎麽用?
: 时间: Wed Apr 29 00:56:39 2009
:
: 请问匿名内部类别的建构函数怎麽用呀
:
: final JPanel panel=new JPanel(){
: //constructor
: public JPanel(){setSize(800,600);} //这样做显然失败了...
:
: public void paintComponent(Graphics g){
: g.drawLine(50,50,100,100);
: }
: };
:
: 刚google了一下但找不到...不好意思 教我一下吧 m一一m
:
可以用有点奸诈的方法:
JPanel panel = new JPanel() {
{
setSize(800,600);
}
public void balbalabl() {
}
}
: → ozone:啊 我好像找到了 答案是不能有建构式! 是吗?! 04/29 01:01
: 推 AI3767:也许...... 你可以在建构式里加上 super(); 04/29 01:34
完全没有关系. 所有 ctor 没有特定 invoke superclass ctor 的话,
就已经是自动加上 super(); 的了
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 202.155.236.82
1F:推 zeat:嗯, block是一种方式= =+ 04/29 13:30
2F:推 AI3767:哈哈, 我看错了,以为是说无法达到效果, 原来是无法编译XD 04/29 13:45
3F:推 sbrhsieh:instance initializer 是哪里奸诈?! 04/29 18:06
4F:推 ozone:咦 这是什麽方法啊 可以取代constructor吗?? 04/30 01:02
5F:推 ozone:查了一下 不晓这样理解对不对:如果没有要加参数 用{}就行了? 04/30 01:31
6F:→ adrianshum:三楼: 所以我只说 "有点" XD 04/30 10:34
7F:→ adrianshum:如非必要请写 ctor. initializer block乱用可读性很差 04/30 12:20
8F:推 sbrhsieh:ctor 与 initializer 两者不互斥 04/30 13:23
9F:推 zeat:理论上 应用是不同的 不能取代 04/30 14:27
10F:推 ozone:刚试了一下 initializer似乎是跑在constructor前面的?! 05/04 02:18