java:generic_bounded_types

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

java:generic_bounded_types [2015/03/15 21:10]
gthanos
java:generic_bounded_types [2016/02/26 11:15]
Line 1: Line 1:
-====== Κληρονομικότητα παραμετρικών τύπων δεδομένων ====== 
  
-<code java> 
-public void boxTest(Box<​Number>​ n) { /* ... */ }  //line 1 
- 
-Box<​Number>​ box = new Box<​Number>​(); ​ //line 3 
-box.add(new Integer(10)); ​            //​line 4 
-box.add(new Double(10.1)); ​           //line 5 
- 
-Box<​Double>​ doubleBox = new Box<​Double>​();​ // line 7 
-doubleBox.add(new Double(10.1)); ​          // line 8 
- 
-box.boxTest(doubleBox);​ // μπορούμε να γράψουμε?​ 
-</​code>​ 
-Ο παραπάνω κώδικας είναι σωστός στις γραμμές 3-5 διότι οι κλάσεις ''​Integer''​ και ''​Double''​ είναι υποκλάσεις της κλάσης ''​Number''​. Δεν ισχύει όμως το ίδιο για την γραμμή 8 καθώς η κλάση ''​Box<​Double>''​ δεν είναι υποκλάση της κλάσης ''​Box<​Number>'',​ όπως δείχνει το παρακάτω σχήμα. 
-{{  :​java:​generics_inheritance1.png?​500 ​ }}  
java/generic_bounded_types.txt · Last modified: 2016/02/26 11:15 (external edit)