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:hiding_static_methods [2015/02/15 16:28] gthanos |
java:hiding_static_methods [2015/04/20 06:50] gthanos |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ===== Κρύβοντας στατικές μεθόδους | + | ===== Καλώντας στατικές μεθόδους |
| Ας δοκιμάσουμε το παρακάτω παράδειγμα κληρονομικότητας δύο κλάσεων που περιέχουν δύο στατικές μεθόδους με το ίδιο // | Ας δοκιμάσουμε το παρακάτω παράδειγμα κληρονομικότητας δύο κλάσεων που περιέχουν δύο στατικές μεθόδους με το ίδιο // | ||
| Line 22: | Line 22: | ||
| System.out.println(" | System.out.println(" | ||
| } | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | <code java TestCat.java> | ||
| + | public class TestCat { | ||
| public static void main(String[] args) { | public static void main(String[] args) { | ||
| Cat myCat = new Cat(); | Cat myCat = new Cat(); | ||
| - | Animal | + | Animal |
| - | Animal | + | Animal |
| | | ||
| Animal.testClassMethod(); | Animal.testClassMethod(); | ||
| + | Cat.testClassMethod(); | ||
| + | |||
| + | System.out.println("" | ||
| + | |||
| + | myAnimalCat.testClassMethod(); | ||
| myAnimal.testClassMethod(); | myAnimal.testClassMethod(); | ||
| - | | + | |
| + | |||
| + | System.out.println("" | ||
| | | ||
| - | | + | |
| myAnimal.testInstanceMethod(); | myAnimal.testInstanceMethod(); | ||
| - | | + | |
| } | } | ||
| } | } | ||
| </ | </ | ||
| + | Η έξοδος του παραπάνω προγράμματος είναι | ||
| + | |||
| + | < | ||
| + | The static method in Animal | ||
| + | The static method in Cat | ||
| + | |||
| + | The static method in Animal | ||
| + | The static method in Animal | ||
| + | The static method in Cat | ||
| + | |||
| + | The instance method in Cat | ||
| + | The instance method in Animal | ||
| + | The instance method in Cat | ||
| + | |||
| + | </ | ||
| + | |||
| + | Παρατηρούμε ότι ο τύπος των δεδομένων από τον οποίο καλούμε μία στατική μέθοδο είναι καθοριστικός για το ποια μέθοδος θα κλήθεί τελικά. Για παράδειγμα, | ||
| + | |||
| + | Οι 3 τελευταίες γραμμές του προγράμματος αναφέρονται σε δυναμικό πολυμορφισμό για να δείξουν την αντίθεση των αποτελεσμάτων στην κλήση στατικών και μη στατικών μεθόδων. | ||
| + | |||
| + | |Προηγούμενο: | ||