无法在此实例oneliner上实例化和调用方法

时间:2014-03-11 09:45:31

标签: java

有人会解释我为什么不写这样的东西:

public class TestService {
     new myService().move();
}

3 个答案:

答案 0 :(得分:3)

因为这应该在一个方法中,而不是在类中的任何地方。例如:

public class TestService {

   public void myCoolMethod() {
       new myService().move();
   }

}

或者在(非静态)初始化程序中:

public class TestService {

   {
       new myService().move();
   }

}

答案 1 :(得分:3)

在任何方法或静态块中写下此行:

static {
    new myService().move();
}

public void move() {
    new myService().move();
}

答案 2 :(得分:1)

静态代码块或方法体将允许您执行该语句:

public class TestService {
  static
  {
    new myService().move();
  }
}