• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Przypisywanie obiektu do interfejsu

0 głosów
83 wizyt
pytanie zadane 12 lutego 2018 w Java przez kosttek Początkujący (450 p.)

Witam, ucząc się javy napotkałem sytuacje, której nie potrafię wyjaśnić, a więc dla przykładu, jeśli mamy coś takiego:

public interface MyInterface {
    void method1();
}
public class TestClass implements MyInterface {

    public TestClass() {}

    @Override
    public void method1() {}
    
    public void method2() {}
}
TestClass testClass = new TestClass();
MyInterface myInterface = new TestClass();

Teraz uzywając obiektu testClass mogę wywołać method1 i method2, a używając obiektu myInterface mogę wywołać tylko method1.

A więc jeśli napiszę taki kod:

List<TestClass> testClassList = new ArrayList<>();
testClassList.forEach();

czemu mogę wywołać metodę forEach skoro w dokumentacji javy jest napisane, że ta metoda należy do klasy ArrayList a nie do interfejsu List?

 

Z góry dzięki za każdą pomoc laugh

1 odpowiedź

+1 głos
odpowiedź 12 lutego 2018 przez Wiciorny Maniak (66,560 p.)
wybrane 12 lutego 2018 przez kosttek
 
Najlepsza

Resizable-array implementation of the List interface.

forEach .... nalezy do interfejsu Interface Iterable<T> :) 

Natomiast Klasa ArrayList implementuje  Iterable :)  Dokumentacja implementowanych klas.

Więc kaskadowy polimorfizm 

https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html#forEach-java.util.function.Consumer-

A dlaczego w takim razie skoro należy do ArrayList możesz do Interfejsu list?

A no dlatego że on z kolei implementuje Arraylist poniżej dokumentacja 

https://docs.oracle.com/javase/8/docs/api/java/util/List.html 

1
komentarz 12 lutego 2018 przez kosttek Początkujący (450 p.)

No nie wierzę, że odpowiedź jest była taka prosta, dzięki laugh

Podobne pytania

0 głosów
3 odpowiedzi 1,063 wizyt
pytanie zadane 20 września 2017 w Java przez Dethavel Początkujący (280 p.)
0 głosów
3 odpowiedzi 128 wizyt
pytanie zadane 28 stycznia w C# i .NET przez Shimeo7 Obywatel (1,810 p.)
+1 głos
0 odpowiedzi 118 wizyt
Porady nie od parady
Komentarze do pytań nie służą do odpowiadania, od tego jest wydzielona sekcja odpowiedzi. Funkcją komentarzy jest natomiast możliwość uzyskania dodatkowych informacji na temat samego posta.Komentarze

63,406 zapytań

109,671 odpowiedzi

229,147 komentarzy

44,695 pasjonatów

Przeglądających: 302
Pasjonatów: 22 Gości: 280

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...