AGENT中JAVA语法问题
本在做AGENT程序,从网站上得到下面的程序,可运行.
public void setup(){
SimpleBehaviour decative = new SimpleBehaviour(this){
boolean finished = false;
int state = 0;
public void action(){
switch(state){
case 0:
System.out.println( "Do ");
break;
case 1:
System.out.println( "Re ");
break;
case 2:
System.out.println( "Me ");
finished = true;
break;
}
state++;
}
public boolean done(){
return finished;
}
};
本人对最后这个分号不明白,JAVA语法好像不支持这样的写法啊.还有这样一段,
protected void setup() {
System.out.println( "Agent " + getLocalName() + " started. ");
// Add the CyclicBehaviour
addBehaviour(new CyclicBehaviour(this) {
public void action() {
System.out.println( "Cycling ");
}
});
这段后面也是同样的问题,还有个括号,它与那个对应呢?
[解决办法]
那个分号是结束第二行开始的statement。
研究一下Anonymous Inner Class就明白了。