This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
|
java:inner_class_inheritance [2017/02/03 14:59] gthanos [Κληρονομικότητα εσωτερικών κλάσεων] |
java:inner_class_inheritance [2018/03/21 07:36] gthanos [Κληρονομικότητα εσωτερικών κλάσεων από εσωτερικές κλάσεις άλλων εξωτερικών κλάσεων] |
||
|---|---|---|---|
| Line 30: | Line 30: | ||
| class InnerInnerClass extends InnerClass { | class InnerInnerClass extends InnerClass { | ||
| public InnerInnerClass(int p) { super(2*p); } | public InnerInnerClass(int p) { super(2*p); } | ||
| - | } | ||
| - | | ||
| - | class OuterInnerClass extends OuterClass { | ||
| - | public OuterInnerClass(int o) { | ||
| - | super(o); | ||
| - | } | ||
| } | } | ||
| | | ||
| Line 58: | Line 52: | ||
| </ | </ | ||
| - | Είδαμε ότι οι εσωτερικές κλάσεις μπορούν να κληρονομούν εσωτερικές κλάσεις που ανήκουν στην ίδια εξωτερική κλάση ή εξωτερικές κλάσεις. Οι εσωτερικές κλάσεις μπορούν να κληρονομούν εσωτερικές κλάσεις άλλων εξωτερικών κλάσεων μόνο εάν η ιδιότητα της κληρονομικότητας ισχύει τόσο σε επίπεδο εσωτερικών όσο και σε επίπεδο εξωτερικών κλάσεων. Δείτε το παρακάτω παράδειγμα που αποτελεί επέκταση του προηγούμενου. | + | Είδαμε ότι οι εσωτερικές κλάσεις μπορούν να κληρονομούν εσωτερικές κλάσεις που ανήκουν στην ίδια εξωτερική |
| + | κλάση ή εξωτερικές κλάσεις. | ||
| - | <code java InnerClassInheritanceTest.java> | + | ===== Κληρονομικότητα εσωτερικών κλάσεων από εσωτερικές κλάσεις άλλων εξωτερικών κλάσεων ===== |
| + | |||
| + | Οι εσωτερικές κλάσεις μπορούν να κληρονομούν εσωτερικές κλάσεις άλλων εξωτερικών κλάσεων μόνο εάν η ιδιότητα της κληρονομικότητας ισχύει τόσο σε επίπεδο εσωτερικών όσο και σε επίπεδο εξωτερικών κλάσεων. Δείτε το παρακάτω παράδειγμα που αποτελεί επέκταση του προηγούμενου. | ||
| + | |||
| + | <code java InnerClassInheritance2.java> | ||
| class OuterClass { | class OuterClass { | ||
| Line 119: | Line 118: | ||
| </ | </ | ||
| - | Εάν στο παράδειγμα αφαιρέσετε την κληρονομικότητα μεταξύ των κλάσεων **AnotherOuterClass --> OuterClass** τότε ο μεταγλώττιστης εμφανίζει το παρακάτω μήνυμα λάθους. | + | Εάν στο |
| <code java> | <code java> | ||
| Line 128: | Line 127: | ||
| 1 error | 1 error | ||
| </ | </ | ||
| + | |||
| + | | Προηγούμενο : [[ : | ||