java:generics_inheritance
Differences
This shows you the differences between two versions of the page.
| Both sides previous revision
Previous revision
|
Next revision
Both sides next revision
|
java:generics_inheritance [2017/02/07 17:06] gthanos |
java:generics_inheritance [2018/04/15 08:15] gthanos |
| doubleBox.add(new Double(10.1)); // line 8 | doubleBox.add(new Double(10.1)); // line 8 |
| |
| box.boxTest(doubleBox); // μπορούμε να γράψουμε? | box.boxTest(doubleBox); // line 10. Μπορούμε να γράψουμε? |
| </code> | </code> |
| Ο παραπάνω κώδικας είναι σωστός στις γραμμές 3-5 διότι οι κλάσεις ''Integer'' και ''Double'' είναι υποκλάσεις της κλάσης ''Number''. Δεν ισχύει όμως το ίδιο για την γραμμή 8 καθώς η κλάση ''Box<Double>'' **__δεν είναι__** υποκλάση της κλάσης ''Box<Number>'', όπως δείχνει το παρακάτω σχήμα. ''Box<Number>'' και ''Box<Double>'' είναι υποκλάσεις της κλάσης ''Object''. | Ο παραπάνω κώδικας είναι σωστός στις γραμμές 3 έως και 8. Στις γραμμές 3-5 οι κλάσεις ''Integer'' και ''Double'' είναι υποκλάσεις της κλάσης ''Number'', ενώ στις γραμμές 7-8 το αντικείμενο ''doubleBox'' αποθηκευει ένα αντικείμενο τύπου ''Double''. Δεν ισχύει όμως το ίδιο για την γραμμή 10 καθώς η κλάση ''Box<Double>'' **__δεν είναι__** υποκλάση της κλάσης ''Box<Number>'', όπως δείχνει το παρακάτω σχήμα. ''Box<Number>'' και ''Box<Double>'' είναι υποκλάσεις της κλάσης ''Object''. |
| {{ :java:generics_inheritance1.png?400 }} | {{ :java:generics_inheritance1.png?400 }} |
| |
java/generics_inheritance.txt · Last modified: 2020/03/10 10:21 (external edit)