Nazwa zmiennej określonej przez interfejs

0

Wiem, że to pytanie jest śmieszne, ale nie mam pomysłu gdzie znaleźć odpowiedź. Mianowicie mam poniższy kawałek kodu:

handler=new Handler();
Runnable runnable=new Runnable()
{
    public void run() 
    {
        tv.append("Hello World");                       
    }
};
handler.postDelayed(runnable, 1000);

i chciałbym się dowiedzieć jak nazywa się poprawnie zmienna

runnable

. Nie jest to obiekt, bo Runnable

. Chyba, że jakiś cudem jest to obiekt implementujący interfejs <code class="java">Runnable.

Serdecznie dziękuję, za konstruktywną odpowiedź zwłaszcza w wyjaśnieniem.

0

Tworzysz tutaj obiekt który implementuje interfejs Runnable.

0

Zarazem też definiujesz klasę tego obiektu - jest to klasa anonimowa, z definicji niestatyczna i finalna ( http://stackoverflow.com/questions/758570/is-it-possible-to-make-anonymous-inner-classes-in-java-static ).

Po kompilacji javac nazywa kolejne skompilowane klasy anonimowe wg wzorku <nazwa-otaczającej-klasy>$<numerek>.class

1 użytkowników online, w tym zalogowanych: 0, gości: 1