CodeGym /Blog Jawa /Acak /Variabel Statis ing Jawa
John Squirrels
tingkat
San Francisco

Variabel Statis ing Jawa

Diterbitake ing grup

Apa variabel statis?

Variabel statis utawa variabel kelas dituduhake ing antarane kabeh conto kelas lan bisa diakses lan diowahi tanpa nggawe conto kelas. Ayo nyilem jero kanggo mangerteni panggunaan lan implementasine variabel statis ing Jawa.

Tuladha variabel statis ing Jawa

Salah sawijining panggunaan sing paling umum kanggo variabel statis yaiku kanggo nuduhake ing kabeh kasus kelas. Contone, variabel counter sing nglacak jumlah kedadeyan sing digawe, utawa variabel CONSTANT sing nduwe nilai sing ora bakal diganti. Coba kelas sing makili akun bank. Cuplikan kode ing ngisor iki nuduhake carane variabel statis nextAccountNumber bisa digunakake kanggo nemtokake nomer akun unik kanggo saben akun anyar:

Tuladha

// BankAccount class definition
class BankAccount {
  // Declare static variable nextAccountNumber
  static int nextAccountNumber = 1001;

  // Declare instance variables for accountNumber and balance.
  int accountNumber;
  double balance;

  // BankAccount constructor that assigns unique account number to each instance
  BankAccount() {
    // Assign the current value of nextAccountNumber to accountNumber.
    accountNumber = nextAccountNumber;

    // Increment nextAccountNumber for the next BankAccount object.
    nextAccountNumber++;
  }

  // Method to get the account number of this BankAccount object.
  int getAccountNumber() {
    return accountNumber;
  }

  // Method to get the balance of this BankAccount object.
  double getBalance() {
    return balance;
  }

  // Method to deposit an amount into this BankAccount object.
  void deposit(double amount) {
    // Increase balance by the amount deposited.
    balance += amount;
  }

  // Method to withdraw an amount from this BankAccount object.
  void withdraw(double amount) {
    // Decrease balance by the amount withdrawn.
    balance -= amount;
  }
}

// Main method definition
class Main {
  static void main(String[] args) {
    // Create three BankAccount objects: account1, account2, and account3.
    BankAccount account1 = new BankAccount();
    BankAccount account2 = new BankAccount();
    BankAccount account3 = new BankAccount();

    // Display the value of the static variable nextAccountNumber after creating each BankAccount object.
    System.out.println("Value of nextAccountNumber after creating account1: " + account1.getAccountNumber());
    System.out.println("Value of nextAccountNumber after creating account2: " + account2.getAccountNumber());
    System.out.println("Value of nextAccountNumber after creating account3: " + account3.getAccountNumber());
  }
}

Output

Nilai NextAccountNumber sawise nggawe akun1: 1001 Nilai sabanjureAccountNumber sawise nggawe akun2: 1002 Nilai sabanjureAccountNumber sawise nggawe akun3: 1003
Ing conto iki, cara utama nggawe telung conto saka kelas BankAccount . Konstruktor BankAccount nemtokake nextAccountNumber menyang akun anyar lan nambah variabel nextAccountNumber kanthi 1. Cara getAccountNumber ngasilake nomer akun saben akun. Cara utama banjur nyithak nomer akun lan variabel NextAccountNumber kanggo saben akun. Sampeyan bisa ndeleng manawa saben nomer akun unik lan variabel NextAccountNumber ditambah siji kanggo saben akun anyar sing digawe. Variabel statis uga bisa digunakake kanggo ngleksanakake pola desain Singleton, ing ngendi mung siji conto kelas bisa digawe. Kelas singleton minangka kelas sing bisa duwe mung siji conto ing aplikasi Java lan nyedhiyakake titik akses global kanggo conto iki. Cuplikan kode ing ngisor iki nuduhake carane conto variabel statis bisa digunakake kanggo ngetrapake kelas tunggal:

Tuladha

public class Singleton {
    // using static variable in the singleton class
    private static Singleton instance;
    private Singleton() { }

    public static Singleton getInstance() {
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }

    public void displayMessage() {
        System.out.println("This is a singleton class");
    }

    public static void main(String[] args) {
        Singleton singleton1 = Singleton.getInstance();
        singleton1.displayMessage();

        Singleton singleton2 = Singleton.getInstance();
        singleton2.displayMessage();

        Singleton singleton3 = Singleton.getInstance();
        singleton3.displayMessage();
    }
}

Output

Iki kelas singleton Iki kelas singleton Iki kelas singleton
Ing conto iki, cara utama nggawe telung conto kelas Singleton kanthi nelpon metode getInstance () . Metode getInstance () ngasilake conto kelas lan nggawe conto anyar yen ora ana. Cara displayMessage mung nyithak pesen. Banjur cara utama nelpon cara displayMessage kanggo saben conto. Kaya sing sampeyan ngerteni, sanajan kita nggawe telung conto, mung siji obyek sing digawe lan dituduhake ing kabeh kedadeyan. Iki mbuktekake manawa mung siji conto kelas sing digawe lan dituduhake ing antarane kabeh kedadeyan lan variabel statis 'kayata' ditahan. Penting kanggo elinga yen nilai variabel statis dituduhake ing antarane kabeh conto kelas, mula owah-owahan ing variabel sing digawe dening siji conto bakal katon ing kabeh kedadeyan liyane. Wawasan sing ati-ati kudu diwenehake marang variabel statis kanggo ngindhari konflik lan kewan omo ing kode sampeyan. Contone, nggunakake variabel statis kanggo nahan nilai sing spesifik kanggo conto kelas, kayata imbangan akun, ora dianjurake. Kanggo nguatake apa sing sampeyan sinau, disaranake sampeyan nonton video pelajaran saka Kursus Jawa

Kesimpulan

Kanggo mbungkus iki, variabel statis ing Jawa ngidini enggo bareng data ing antarane kabeh kedadeyan kelas. Bisa digunakake kanggo variabel sing dituduhake ing kabeh kedadeyan, kayata counter, lan konstanta utawa kanggo ngetrapake pola desain Singleton. Nanging, penting kanggo elinga yen nilai variabel statis dituduhake ing antarane kabeh instance kelas, mula owah-owahan ing variabel sing digawe dening siji conto bakal katon ing kabeh kedadeyan liyane.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION