import static java.util.concurrent.TimeUnit.*;
class BeeperControl {
private final ScheduledExecutorService scheduler =
Executors.newScheduledThreadPool(1);
public void beepForAnHour() {
final Runnable beeper = new Runnable() {
public void run() { System.out.println("beep"); }
};
final ScheduledFuture<?> beeperHandle =
scheduler.scheduleAtFixedRate(beeper, 10, 10, SECONDS);
scheduler.schedule(new Runnable() {
public void run() { beeperHandle.cancel(true); }
}, 60 * 60, SECONDS);
}
}
https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ScheduledExecutorService.htmlilluminati
31 уровень
Почему в примере из javadoc переменные объявлены final? Какой в этом смысл?
Решен
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Jh-007
25 мая 2021, 11:23решение
это поля ссылочного типа. final означает что их нельзя изменить, т.е нельзя присвоить им новый объект. однако состояние самого объекта менять можно.
+2
hidden #2322530
25 мая 2021, 11:03
чтобы они были неизменными.
0