во-первых, в соответствии с вашей текущей программой, это не влияет на использование окончательного варианта или его неиспользование.
потому что ключевое слово final появляется, когда мы идем на наследование.
Теперь предположим, что мы унаследовали вышеуказанный класс какому-то другому классу, скажем, AAA.
случай 1: если у вас нет окончательного метода. тогда все не окончательные методы могут быть переопределены в подклассе, и, следовательно, есть вероятность изменить значение вашей переменной с помощью метода подкласса overrden.
Примечание: здесь значение переменной базового класса может быть изменено в подклассе, не зная его базовому классу.
случай 2: если у вас есть ключевое слово final в методе.
тогда метод не может быть переопределен в подклассе, если вы это сделаете, вы получите ошибку времени компиляции.
и, следовательно, он не может изменить значение переменной вашего базового класса.
Примечание: final следует использовать, если в будущем вы не хотите что-то менять.
см. ниже программу, как это влияет без ключевого слова final
package com.kb;
public class Whatever {
private int myVar = initializeInstanceVariable();
protected int initializeInstanceVariable() {
return 10;
}
public static void main(String[] args) {
Whatever myVar2 = new Whatever();
myVar2.initializeInstanceVariable();
System.out.println(myVar2.myVar);
Whatever var = new AAA();
System.out.println(var.myVar);
}
}
class AAA extends Whatever{
@Override
protected int initializeInstanceVariable() {
return 20;
}
}
еще одна вещь, вам не нужно снова вызывать метод myVar2.initializeInstanceVariable();
в вашем сценарии.
потому что вы вызвали метод при инициализации переменной.
поэтому, когда вы получаете доступ к переменной, вы получите только инициализированное значение
означает, что метод будет вызываться автоматически, и вы получите значение.
поэтому строки ниже будут работать так же, если мы также прокомментируем вызов метода.
Whatever myVar2 = new Whatever();
// myVar2.initializeInstanceVariable();
System.out.println(myVar2.myVar);
person
Karibasappa G C
schedule
03.05.2014
final
и методом?». Это связано с наследованием. - person Praba   schedule 03.05.2014