126 читали · 2 года назад
Java 1102. К каким переменным есть доступ у лямбда-выражений?
В лямбда-выражениях в Java можно обращаться к локальным переменным, объявленным во внешнем блоке. Однако такие переменные должны быть объявлены как final или effectively final. Это значит, что значение переменной не может быть изменено после присвоения. Например, следующий код корректен, потому что переменная i объявлена как final: final int i = 42; Runnable r = () -> System.out.println("The answer is " + i); А вот следующий код выдаст...
630 читали · 2 года назад
Java 762. Имеет ли смысл объявлять метод private final?
Если метод в Java объявлен как private final, то это означает, что метод может быть вызван только из класса, в котором он был объявлен. Модификатор private обеспечивает доступ только внутри класса, а модификатор final гарантирует, что метод не будет переопределен в подклассах. Если метод не вызывается из других мест в коде и не должен быть переопределен, то можно объявить его как private final. Однако это может привести к трудностям при тестировании, поскольку тестовые классы не смогут вызвать такой метод...