java:local_inner_classes
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
java:local_inner_classes [2017/02/06 07:05] – gthanos | java:local_inner_classes [Unknown date] (current) – external edit (Unknown date) 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Τοπικές κλάσεις ====== | ====== Τοπικές κλάσεις ====== | ||
+ | |||
Μπορείτε να ορίσετε μία κλάση μέσα σε οποιοδήποτε μπλοκ κώδικα, | Μπορείτε να ορίσετε μία κλάση μέσα σε οποιοδήποτε μπλοκ κώδικα, | ||
- | Ο λόγος που πιθανόν θέλει κάποιος προγραμματιστής να ορίσει μία τοπική κλάση είναι ότι η λειτουργικότητα που υλοποιεί η τοπική κλάση αφορά μόνο τη συγκεκριμένη μέθοδο μέσα στην οποία δηλώνεται. Επίσης, | + | Ο λόγος που πιθανόν θέλει κάποιος προγραμματιστής να ορίσει μία τοπική κλάση είναι ότι η λειτουργικότητα που υλοποιεί η τοπική κλάση αφορά μόνο τη συγκεκριμένη μέθοδο μέσα στην οποία δηλώνεται. |
Δείτε το παρακάτω παράδειγμα κώδικα. | Δείτε το παρακάτω παράδειγμα κώδικα. | ||
- | <code java LocalClassExample.java> | + | <code java ValidatePhoneNumberUsingLocalClass.java> |
- | public class LocalClassExample | + | |
+ | public class ValidatePhoneNumberUsingLocalClass | ||
| | ||
- | String regularExpression = " | + | |
| | ||
- | public void validatePhoneNumber(/ | + | public |
| | ||
final int numberLength = 10; | final int numberLength = 10; | ||
Line 18: | Line 20: | ||
class PhoneNumber { | class PhoneNumber { | ||
| | ||
- | String formattedPhoneNumber = null; | + | |
PhoneNumber(String phoneNumber){ | PhoneNumber(String phoneNumber){ | ||
regularExpression = " | regularExpression = " | ||
- | | + | String currentNumber = phoneNumber.replaceAll( |
- | | + | |
regularExpression, | regularExpression, | ||
if (currentNumber.length() == numberLength) | if (currentNumber.length() == numberLength) | ||
Line 35: | Line 36: | ||
} | } | ||
| | ||
- | // public void printOriginalNumbers() { | + | public String toString() { |
- | // System.out.println(" | + | if(formattedPhoneNumber == null) |
- | // " and " + phoneNumber2); | + | return " |
- | // } | + | else |
+ | return formattedPhoneNumber; | ||
+ | } | ||
+ | |||
+ | | ||
+ | // System.out.println(" | ||
+ | // " and " + phoneNumber2); | ||
+ | // } | ||
} | } | ||
- | | + | // myNumber1.printOriginalNumbers(); |
- | PhoneNumber myNumber2 = new PhoneNumber(phoneNumber2); | + | System.out.println(number |
- | + | ||
- | // myNumber1.printOriginalNumbers(); | + | |
- | | + | |
- | if (myNumber1.getNumber() == null) | + | |
- | | + | |
- | else | + | |
- | System.out.println(" | + | |
- | if (myNumber2.getNumber() == null) | + | |
- | System.out.println(" | + | |
- | else | + | |
- | System.out.println(" | + | |
} | } | ||
public static void main(String... args) { | public static void main(String... args) { | ||
- | | + | |
- | lce.validatePhoneNumber(" | + | ValidatePhoneNumberUsingLocalClass.validatePhoneNumber(" |
} | } | ||
} | } | ||
Line 72: | Line 68: | ||
<code java> | <code java> | ||
final int numberLength = 10; | final int numberLength = 10; | ||
- | </ | ||
- | Αν βγάλετε τα σχόλια από την γραμμή 15 '' | ||
- | < | ||
- | LocalClassExample.java: | ||
- | numberLength = 7; | ||
</ | </ | ||
- | Ομοίως αν προσθέσετε τους προσδιοριστές //final// στις παραμέτρους // | + | Αν προσθέσετε τους προσδιοριστές //final// στις παραμέτρους // |
<WRAP tip 80% center round> | <WRAP tip 80% center round> | ||
Line 85: | Line 76: | ||
</ | </ | ||
- | |Προηγούμενο: | + | |Προηγούμενο: |
java/local_inner_classes.1486364755.txt.gz · Last modified: 2017/02/06 07:05 (external edit)