woodp1anks~

RT,run方法里的内容是不是就是要“等待”的事情...

在请教一下,这个new里面怎么这么多内容...

Sssss...
本帖最后由 Sssss... 于 2021-7-21 13:59 编辑

因为BukkitRunnable是抽象类,没办法直接new,图中的方法是使用匿名内部类:

  1. BukkitRunnable b = new BukkitRunnable() {

  2.   @Override
  3.   public void run() {
  4.     // TODO
  5.   }
  6. };
复制代码


这样获取到的对象b就和以下的代码相同:

  1. class MyRunnable extends BukkitRunnable {

  2.   @Override
  3.   public void run() {
  4.     // TODO
  5.   }
  6. };

  7. BukkitRunnable b = new MyRunnable();
复制代码


所以这种写法是简化了代码。

(请学习java基础)






run里面的内容就是要做的事情,但不一定是等待的,也可能是立即执行的,这取决于你对这个任务执行的方法。图中的runTaskAsynchronously就是指立刻在另一线程(异步)执行。

byxiaobai
本帖最后由 byxiaobai 于 2021-7-21 14:03 编辑

建议购买《Java从入门到精通》,其中有许多适合初学者的内容,比如匿名类的详细介绍和用法