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);
  }
}
Ключове слово final корисне, коли ви хочете, щоб змінна завжди зберігала те саме значення, наприклад, PI (3.14159...). Ключове слово final називається "модифікатором". Ви дізнаєтесь більше про них у розділі Модифікатори Java.

Кілька об'єктів

Якщо ви створюєте декілька об'єктів одного класу, ви можете змінювати значення атрибутів в одному об'єкті, не впливаючи на значення атрибутів в інших:

Змініть значення 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);
  }
}
У наступному розділі ви дізнаєтеся, як створювати методи класу і як отримувати до них доступ за допомогою об'єктів.