User Tools

Site Tools


java:local_inner_classes

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
java:local_inner_classes [2017/04/03 00:05] – [Τοπικές κλάσεις] gthanosjava:local_inner_classes [Unknown date] (current) – external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
 ====== Τοπικές κλάσεις ====== ====== Τοπικές κλάσεις ======
 +
  
 Μπορείτε να ορίσετε μία κλάση μέσα σε οποιοδήποτε μπλοκ κώδικα, δηλαδή μέσα στο σώμα μίας μεθόδου μέσα σε στα άγκιστρα ενός //if// statement ή μέσα στο σώμα μία εντολής ανακύκλωσης //for()// ή //while()//. Η συγκεκριμένη κατηγορία κλάσεων ονομάζεται **τοπικη κλάση**.  Μπορείτε να ορίσετε μία κλάση μέσα σε οποιοδήποτε μπλοκ κώδικα, δηλαδή μέσα στο σώμα μίας μεθόδου μέσα σε στα άγκιστρα ενός //if// statement ή μέσα στο σώμα μία εντολής ανακύκλωσης //for()// ή //while()//. Η συγκεκριμένη κατηγορία κλάσεων ονομάζεται **τοπικη κλάση**. 
Line 7: Line 8:
 Δείτε το παρακάτω παράδειγμα κώδικα. Δείτε το παρακάτω παράδειγμα κώδικα.
  
-<code java LocalClassExample.java>  +<code java ValidatePhoneNumberUsingLocalClass.java>  
-public class LocalClassExample {+  
 +public class ValidatePhoneNumberUsingLocalClass {
      
   static String regularExpression = "[^0-9]";   static String regularExpression = "[^0-9]";
      
-  public static void validatePhoneNumber(String number1,String number2) {+  public static void validatePhoneNumber(String number) {
          
     final int numberLength = 10;     final int numberLength = 10;
Line 40: Line 42:
           return formattedPhoneNumber;           return formattedPhoneNumber;
       }       }
 +      
 +      //    public void printOriginalNumbers() {
 +      //      System.out.println("Original numbers are " + phoneNumber1 +
 +      //          " and " + phoneNumber2);
 +      //    }
     }     }
  
-    System.out.println(number1 + ": " + new PhoneNumber(number1)); +    //  myNumber1.printOriginalNumbers(); 
-    System.out.println(number2 + ": " + new PhoneNumber(number2));+    System.out.println(number + ": " + new PhoneNumber(number));
   }   }
  
   public static void main(String... args) {   public static void main(String... args) {
-    LocalClassExample.validatePhoneNumber("123-456-7890""456-7890");+    ValidatePhoneNumberUsingLocalClass.validatePhoneNumber("123-456-7890"); 
 +    ValidatePhoneNumberUsingLocalClass.validatePhoneNumber("456-7890");
   }   }
 } }
Line 60: Line 68:
 <code java> <code java>
 final int numberLength = 10; final int numberLength = 10;
-</code> 
-Αν βγάλετε τα σχόλια από την γραμμή 15 ''numberLength = 7;'', θα παρατηρήσετε ότι λαμβάνετε το παρακάτω μήνυμα λάθους: 
-<code> 
-LocalClassExample.java:15: error: cannot assign a value to final variable numberLength 
-        numberLength = 7; 
 </code> </code>
  
-Ομοίως αν προσθέσετε τους προσδιοριστές //final// στις παραμέτρους //**phoneNumber1**// και //**phoneNumber2**// τότε θα μπορείτε να εισάγετε την μέθοδο //**printOriginalNumbers**// οι οποία χρησιμοποιεί τις μεταβλητές αυτές.+Αν προσθέσετε τους προσδιοριστές //final// στις παραμέτρους //**phoneNumber1**// και //**phoneNumber2**// τότε θα μπορείτε να εισάγετε την μέθοδο //**printOriginalNumbers**// οι οποία χρησιμοποιεί τις μεταβλητές αυτές.
  
 <WRAP tip 80% center round> <WRAP tip 80% center round>
Line 73: Line 76:
 </WRAP> </WRAP>
  
-|Προηγούμενο: [[ :java:inner_classesΜη στατικές εμφωλευμένες κλάσεις   ]] | Επόμενο: [[ :java:anon_inner_classes | Ανώνυμες εμφωλευμένες κλάσεις ]]|+|Προηγούμενο: [[ :java:inner_class_inheritance Κληρονομικότητα εσωτερικών κλάσεων  ]] | Επόμενο: [[ :java:anon_inner_classes | Ανώνυμες εμφωλευμένες κλάσεις ]]|
java/local_inner_classes.1491177956.txt.gz · Last modified: 2017/04/02 23:05 (external edit)