Πρόγραμμα Java για πρόσβαση σε ιδιωτικά μέλη μιας τάξης

Σε αυτό το παράδειγμα, θα μάθουμε να έχουμε πρόσβαση στις ιδιωτικές μεθόδους και τα πεδία μιας τάξης στην Java.

Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες εφαρμογές προγραμματισμού Java:

  • Μέθοδοι Java
  • Τροποποιητές πρόσβασης Java

Παράδειγμα 1: Πρόσβαση σε ιδιωτικά πεδία χρησιμοποιώντας μεθόδους getter και setter

 class Test ( // private variables private int age; private String name; // initialize age public void setAge(int age) ( this.age = age; ) // initialize name public void setName(String name) ( this.name = name; ) // access age public int getAge() ( return this.age; ) // access name public String getName() ( return this.name; ) ) class Main ( public static void main(String() args) ( // create an object of Test Test test = new Test(); // set value of private variables test.setAge(24); test.setName("Programiz"); // get value of private variables System.out.println("Age: " + test.getAge()); System.out.println("Name: " + test.getName()); ) )

Παραγωγή

 Ηλικία: 24 Όνομα: Programiz

Στο παραπάνω παράδειγμα, έχουμε ιδιωτικές μεταβλητές που ονομάζονται ηλικία και όνομα. Εδώ, προσπαθούμε να αποκτήσουμε πρόσβαση στις ιδιωτικές μεταβλητές από άλλη κλάση που ονομάζεται Main.

Χρησιμοποιήσαμε τη μέθοδο getter and setter για πρόσβαση στις ιδιωτικές μεταβλητές. Εδώ,

  • τις μεθόδους ρύθμισης setAge()και setName()αρχικοποιεί τις ιδιωτικές μεταβλητές
  • τις μεθόδους λήψης getAge()και getName()επιστρέφει την τιμή των ιδιωτικών μεταβλητών

Παράδειγμα 2: Πρόσβαση στο ιδιωτικό πεδίο και τη μέθοδο χρησιμοποιώντας το Reflection

 import java.lang.reflect.*; class Test ( // private variables private String name; // private method private void display() ( System.out.println("The name is " + name); ) ) class Main ( public static void main(String() args) ( try ( // create an object of Test Test test = new Test(); // create an object of the class named Class Class obj = test.getClass(); // access the private variable Field field = obj.getDeclaredField("name"); // make private field accessible field.setAccessible(true); // set value of field field.set(test, "Programiz"); // get value of field // and convert it in string String value = (String)field.get(test); System.out.println("Name: " + value); // access the private method Method() methods = obj.getDeclaredMethods(); System.out.println("Method Name: " + methods(0).getName()); int modifier = methods(0).getModifiers(); System.out.println("Access Modifier: " + Modifier.toString(modifier)); ) catch(Exception e) ( e.printStackTrace(); ) ) )

Παραγωγή

 Όνομα: Μέθοδος προγράμματος Όνομα: εμφάνιση Τροποποιητής πρόσβασης: ιδιωτικός

Σε αυτό το παράδειγμα, έχουμε ένα ιδιωτικό πεδίο με όνομα και μια ιδιωτική μέθοδο display(). Εδώ, χρησιμοποιούμε την αντανάκλαση για να αποκτήσουμε πρόσβαση στα ιδιωτικά πεδία και τις μεθόδους της τάξης Test

Για να μάθετε σχετικά με τον προβληματισμό, επισκεφθείτε το Java Reflection.

ενδιαφέροντα άρθρα...