Програма 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 и setter за достъп до частните променливи. Тук,

  • методите на сетера setAge()и setName()инициализира частните променливи
  • методите getter 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(); ) ) )

Изход

 Име: Programiz Метод Име: дисплей Модификатор на достъп: частен

В този пример имаме частно поле с име и частен метод с име display(). Тук използваме отражението за достъп до частните полета и методи на класа Test.

За да научите повече за размисъл, посетете Java Reflection.

Интересни статии...