Java Class Attributes
Оновлено: 22.05.2023
Атрибути класів Java
У попередньому розділі ми використовували термін "змінна" для x у прикладі (як показано нижче). Насправді це атрибут класу. Або можна сказати, що атрибути класу - це змінні всередині класу:
Створіть клас з назвою "Main" з двома атрибутами: x та y:
Main
x
y
public class Main {
  int x = 5;
  int y = 3;
}
Доступ до атрибутів
Ви можете отримати доступ до атрибутів, створивши об'єкт класу, а також використовуючи крапковий синтаксис (.):
У наступному прикладі створюється об'єкт класу Main з іменем myObj. Ми використовуємо атрибут x об'єкту для виведення його значення:
Створіть об'єкт з ім'ям "myObj" і виведіть значення x:
myObj
x
public class Main {
  int x = 5;
  public static void main(String[] args) {
    Main myObj = new Main();
    System.out.println(myObj.x);
  }
}
Змінити атрибути
Ви також можете змінювати значення атрибутів:
Встановіть значення x рівним 40:
x
public class Main {
  int x;
  public static void main(String[] args) {
    Main myObj = new Main();
    myObj.x = 40;
    System.out.println(myObj.x);
  }
}
Або перевизначити існуючі значення:
Змініть значення x на 25:
x
public class Main {
  int x = 10;
  public static void main(String[] args) {
    Main myObj = new Main();
    myObj.x = 25; // x is now 25
    System.out.println(myObj.x);
  }
}
Якщо вам не потрібна можливість перевизначати існуючі значення, оголосіть атрибут як фінальний:
public class Main {
  final int x = 10;
  public static void main(String[] args) {
    Main myObj = new Main();
    myObj.x = 25; // will generate an error: cannot assign a value to a final variable
    System.out.println(myObj.x);
  }
}
Кілька об'єктів
Якщо ви створюєте декілька об'єктів одного класу, ви можете змінювати значення атрибутів в одному об'єкті, не впливаючи на значення атрибутів в інших:
Змініть значення x на 25 в myObj2, а в myObj1 залиште x без змін:
x
myObj2
x
myObj1
public class Main {
  int x = 5;
  public static void main(String[] args) {
    Main myObj1 = new Main();  // Object 1
    Main myObj2 = new Main();  // Object 2
    myObj2.x = 25;
    System.out.println(myObj1.x);  // Outputs 5
    System.out.println(myObj2.x);  // Outputs 25
  }
}
Кілька атрибутів
Ви можете вказати скільки завгодно атрибутів:
public class Main {
  String fname = "John";
  String lname = "Doe";
  int age = 24;
  public static void main(String[] args) {
    Main myObj = new Main();
    System.out.println("Name: " + myObj.fname + " " + myObj.lname);
    System.out.println("Age: " + myObj.age);
  }
}