Skip to content

Instantly share code, notes, and snippets.

@sunmeat
Last active August 30, 2025 11:47
Show Gist options
  • Select an option

  • Save sunmeat/05ca4092c8a594eda481 to your computer and use it in GitHub Desktop.

Select an option

Save sunmeat/05ca4092c8a594eda481 to your computer and use it in GitHub Desktop.
static field
package com.alex.static;
// клас, що представляє монстра з характеристиками та лічильником екземплярів
class Monster {
// статичне поле для підрахунку створених монстрів
private static int count = 0;
private int health; // здоров'я монстра
private int attack; // сила атаки монстра
private int mana; // запас мани монстра
// конструктор без параметрів
Monster() {
this(100, 10, 50); // делегування до основного конструктора
count++; // збільшення лічильника монстрів
System.out.println("створено монстра #" + count);
}
// конструктор з одним параметром (здоров'я)
Monster(int health) {
this(health, 10, 50); // делегування до основного конструктора
count++; // збільшення лічильника монстрів
System.out.println("створено монстра #" + count + " з заданим здоров'ям");
}
// основний конструктор з усіма параметрами
Monster(int health, int attack, int mana) {
this.health = health; // ініціалізація здоров'я
this.attack = attack; // ініціалізація атаки
this.mana = mana; // ініціалізація мани
System.out.println("викликано основний конструктор");
}
// статичний метод для отримання кількості створених монстрів
public static int getCount() {
return count;
}
// метод для виведення інформації про монстра
public void printInfo() {
System.out.println("монстр #" + count + ": здоров'я = " + health + ", атака = " + attack + ", мана = " + mana);
}
}
// головний клас для демонстрації роботи зі статичним полем
public class Main {
public static void main(String[] args) {
// створення масиву монстрів
Monster[] monsters = new Monster[3];
// ініціалізація монстрів різними конструкторами
monsters[0] = new Monster(); // виклик конструктора без параметрів
monsters[1] = new Monster(150); // виклик конструктора з одним параметром
monsters[2] = new Monster(200, 20, 100); // виклик основного конструктора
// виведення інформації про кожного монстра
System.out.println("\nінформація про всіх монстрів:");
for (Monster monster : monsters) {
monster.printInfo();
}
// виведення загальної кількості створених монстрів
System.out.println("\nзагальна кількість монстрів: " + Monster.getCount());
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment