Nie można odwołać się do nie kończącej się zmiennej wewnątrz klasy wewnętrznej zdefiniowanej inną metodą

Edytowane: Muszę zmienić wartości kilku zmiennych, ponieważ działają one kilka razy na zegarze. Muszę aktualizować wartości przy każdej iteracji przez timer. Nie mogę ustawić wartości na ostateczne, ponieważ uniemożliwi mi to aktualizowanie wartości, ale otrzymuję błąd, który opisuję w pytaniu początkowym poniżej:

Wcześniej napisałem, co jest poniżej:

Dostaję błąd „nie można odnieść się do nie-końcowej zmiennej wewnątrz klasy wewnętrznej zdefiniowanej inną metodą”.

Dzieje się tak w przypadku podwójnie nazywanej ceny i ceny zwanej priceObject. Czy wiesz, dlaczego mam ten problem? Nie rozumiem, dlaczego muszę mieć ostateczną deklarację. Jeśli możesz zobaczyć, co próbuję zrobić, co muszę zrobić, aby obejść ten problem.

public static void main(String args[]) {

    int period = 2000;
    int delay = 2000;

    double lastPrice = 0;
    Price priceObject = new Price();
    double price = 0;

    Timer timer = new Timer();

    timer.scheduleAtFixedRate(new TimerTask() {
        public void run() {
            price = priceObject.getNextPrice(lastPrice);
            System.out.println();
            lastPrice = price;
        }
    }, delay, period);
}

questionAnswers(20)

yourAnswerToTheQuestion