Az Interface nem példányosítható. (?) (javatpoint.com)

0 értékelés
174 megtekintés
Imre (6 pont) kérdezte 2017. Nov 17.

Az alábbi példában mi a megnevezése a 13. sornak, ahol egy interface-ből új példányt készítünk?

  1. interface Drawable{  
  2. void draw();  
  3. }  
  4. class Rectangle implements Drawable{  
  5. public void draw(){System.out.println("drawing rectangle");}  
  6. }  
  7. class Circle implements Drawable{  
  8. public void draw(){System.out.println("drawing circle");}  
  9. }  
  10. class TestInterface1{  
  11. public static void main(String args[]){  
  12. Drawable d=new Circle();
  13. d.draw();  
  14. }}  

1 Válasz

0 értékelés
Krisz Guru (2,061 pont) válaszolta meg 2017. Nov 17.
Imre kiválasztva 2017. Nov 17.
 
Legjobb válasz
Az interface egy hiányos leírás (teljesen absztrakt), ezért önmagából nem példányosítható, csak olyan osztály segítségével, amelyik implementálja azt. Ez lehet konkrét osztály, mint a hozott példában, de lehet anonim osztály is. Sőt, lambda expression-nel is definiálhatjuk.

   A 13. sorban példányosításra kerül a Circle. A Circle pedig implementálja a Drawablet, ezért tudjuk ebben az adattípusban (is) eltárolni az elkészült Circle példányt.

 Az alábbi két kurzus részletesebben is betekintést ad a Java polimorfizmusába:
https://www.youtube.com/playlist?list=PLyriihBWoulz2Eb3-FvL5bPXSQ-8poCNm
https://www.youtube.com/playlist?list=PLyriihBWoulyYA6hpIksuEvB4cb0g2Ips
...