/ / Różnica między czasem wykonywania a określaniem czasu kompilacji [duplikat] - Java, środowisko wykonawcze, czas kompilacji

Różnica między czasem wykonania a określeniem czasu kompilacji [duplicate] - java, runtime, compile-time

Stworzyłem interfejs i stos. Teraz mogę wywołać stos za pomocą odwołania z tego interfejsu lub bezpośrednio. Nie rozumiem, dlaczego powinienem wybrać trasę referencyjną. Książka, o której mowa, mówi o jej wdrożeniu w czasie wykonywania, więc jest lepsza. Proszę, może ktoś to wytłumaczy

Odpowiedzi:

0 dla odpowiedzi № 1

Nie jestem pewien co do rzeczywistego kodu, o którym mówisz, ale korzyści płynące z używania interfejsu są takie.

interface Stack {
void push (T x);
T pop ();
}

class IntegerStack implements Stack<Integer> {

}

Jak widać, możemy przygotować stos dla każdegotypy do akceptowania każdego potrzebującego typu, ale także dostęp do niego za pośrednictwem tego samego interfejsu. W rzeczywistości ta decyzja, która metoda implementacji jest wywoływana przez interfejs, podjęta przez czas kompilacji, więc nie jestem pewien, czy odpowiada na twoje pytanie.

Jeśli wiesz, że trzymasz się tylko jednej implementacji, korzystanie z interfejsu jest bezużyteczne. (Ale zdarza się rzadko, że oprogramowanie zostało opracowane jako praktyczne zastosowanie)

Przy okazji, jeśli wdrażasz Stack, uważam, że lepiej jest użyć bardziej znanego berło niż samodzielne wdrożenie. ;)