Biến global trong Java

Trong Java không có khái niệm về biến global, do đó chúng ta không thể tạo các một biến global như trong các ngôn ngữ khác chẳng hạn như C hoặc C++. Tuy nhiên chúng ta có thể đạt được điều tương tự bằng cách sử dụng các khái niệm khác trong Java như biến static trong class hoặc khai báo các biến trong interface như một hằng số.

Chúng ta có thể sử dụng biến static như một biến global bởi vì chúng thường được dùng để chia sẽ các dữ liệu chung dùng cho tất cả các object chứ không thuộc riêng về một object nào.

Khởi tạo biến global với static

Đây là cách đơn giản nhất để tạo biến global trong Java, trong bài viết này chúng ta sẽ tạo một class Employee chứa biến count.

class Employee {
    static int count;
}

public class Main {

    public static void main(String[] args) {
        Employee.count = 0;
        System.out.println("Count: " + Employee.count);
        Employee.count++;
        System.out.println("Count: " + Employee.count);
    }
}

Output

Count: 0
Count: 1

Khởi tạo biến global sử dụng Interface

Một cách khác để tạo biến global trong Java đó là sử dụng interface. Lưu ý các biến được khởi tạo trong Interface mặc định là static và final, do vậy những biến này có thể được sử dụng ở bất cứ đâu tuy nhiên chúng ta sẽ không thể thay đổi giá trị của chúng. Đó là lý do vì sao chúng ta có thể gọi chúng là các hằng số.

package com.deft.mongo.utils;

interface EmployeeService {
     int WORKER_TYPE = 0;
     int MANAGER_TYPE = 1;
}

class EmployeeServiceImpl implements EmployeeService {
    public int type;
    public EmployeeServiceImpl(int type) {
        this.type = type;
    }
}

public class Main {

    public static void main(String[] args) {
        EmployeeServiceImpl manager = new EmployeeServiceImpl(EmployeeService.MANAGER_TYPE);
        System.out.println("Type: " + manager.type);


        EmployeeServiceImpl worker = new EmployeeServiceImpl(EmployeeService.WORKER_TYPE);
        System.out.println("Type: " + worker.type);
    }
}

Output

Type: 1
Type: 0

Khởi tạo biến global với từ khóa static và final

Tương tự như trên interface, chúng ta có thể sử dụng từ khóa static và final để tạo ra một hằng số có thể được sử dụng ở bất cứ đâu, tuy nhiên không thể chỉnh sửa giá trị của chúng.

class Employee {
    public static final String WORKER = "Worker";
    public static final String MANAGER = "Manager";
}

public class Main {

    public static void main(String[] args) {
        System.out.println("Type: " + Employee.WORKER);

        System.out.println("Type: " + Employee.MANAGER);
    }
}

Output

Type: Worker
Type: Manager
0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x