Возможный дубликат:
Зачем отмечать локальные переменные и параметры метода как "final" в Java?
Я проверял некоторый Java-код, я не очень хорошо разбираюсь в java, по крайней мере, знаю, что такое final, например, запечатанные классы, поля только для чтения и неперехваченные методы, но это выглядит странно для меня, объявляя переменную final
в методы:
private static void queryGoogleBooks(JsonFactory jsonFactory, String query) throws Exception {
// Set up Books client.
final Books books = Books.builder(new NetHttpTransport(), jsonFactory)
.setApplicationName("Google-BooksSample/1.0")
.setJsonHttpRequestInitializer(new JsonHttpRequestInitializer() {
@Override
public void initialize(JsonHttpRequest request) {
BooksRequest booksRequest = (BooksRequest) request;
booksRequest.setKey(ClientCredentials.KEY);
}
})
.build();
Не могли бы вы рассказать мне, что означает значение final
в этом контексте?
Вот полный код: