java:hiding_static_methods

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
java:hiding_static_methods [2015/03/01 19:22]
gthanos
java:hiding_static_methods [2016/03/31 08:46] (current)
doufexi
Line 43: Line 43:
         System.out.println(""​);​         System.out.println(""​);​
         ​         ​
-        myCat.testInstanceMethod();​ 
         myAnimalCat.testInstanceMethod();​         myAnimalCat.testInstanceMethod();​
         myAnimal.testInstanceMethod();​         myAnimal.testInstanceMethod();​
 +        myCat.testInstanceMethod(); ​       ​
     }     }
 } }
Line 60: Line 60:
 The static method in Cat The static method in Cat
  
-The instance method in Cat 
 The instance method in Cat The instance method in Cat
 The instance method in Animal The instance method in Animal
 +The instance method in Cat
 +
 </​code>​ </​code>​
  
-Παρατηρούμε ότι ο τύπος των δεδομένων από τον οποίο καλούμε μία στατική μέθοδο είναι καθοριστικός για το ποια μέθοδος θα κλήθεί τελικά. Για παράδειγμα,​ η μεταβλητή ''​myAnimal''​ ορίζεται ως τύπου ''​Animal''​ αλλά δείχνει σε ένα αντικείμενο τύπου ''​Cat''​. Η στατική μέθοδος που τελικά καλείται είναι εκείνη που ορίζεται από τον τύπο της reference μεταβλητής (''​Animal''​ ή ''​Cat''​) και όχι από το ίδιο το αντικείμενο στο οποίο δείχνει αυτή, όπως θα περίμενε ίσως κανείς να ισχύει με βάση τον δυναμικό πολυμορφισμό της προηγούμενης παραγράφου. ​+Παρατηρούμε ότι ο τύπος των δεδομένων από τον οποίο καλούμε μία στατική μέθοδο είναι καθοριστικός για το ποια μέθοδος θα κλήθεί τελικά. Για παράδειγμα,​ η μεταβλητή ''​myAnimal''​ ορίζεται ως τύπου ''​Animal''​ αλλά δείχνει σε ένα αντικείμενο τύπου ''​Cat''​. Η στατική μέθοδος που τελικά καλείται είναι εκείνη που ορίζεται από τον τύπο της reference μεταβλητής (''​Animal''​ ή ''​Cat''​) και όχι από το ίδιο το αντικείμενο στο οποίο δείχνει αυτή, όπως ίσως θα περίμενε ίσως κανείς να ισχύει με βάση ​[[:​java:​polymorphism|τον δυναμικό πολυμορφισμό της προηγούμενης παραγράφου]]
  
 Οι 3 τελευταίες γραμμές του προγράμματος αναφέρονται σε δυναμικό πολυμορφισμό για να δείξουν την αντίθεση των αποτελεσμάτων στην κλήση στατικών και μη στατικών μεθόδων. Οι 3 τελευταίες γραμμές του προγράμματος αναφέρονται σε δυναμικό πολυμορφισμό για να δείξουν την αντίθεση των αποτελεσμάτων στην κλήση στατικών και μη στατικών μεθόδων.
  
-|Προηγούμενο:​ [[ :​java:​polymorphism | Στατικός και Δυναμικός Πολυμορφισμός ]] | Επόμενο:​ [[ :​java:​abstract_classes | Abstract Κλάσεις ]]|+|Προηγούμενο:​ [[ :​java:​polymorphism | Στατικός και Δυναμικός Πολυμορφισμός ​]] | [[ :toc | Περιεχόμενα ​]]| Επόμενο:​ [[ :​java:​abstract_classes | Abstract Κλάσεις ]]|
java/hiding_static_methods.1425237741.txt.gz · Last modified: 2016/02/26 11:15 (external edit)