Truy Cập Object Thông Qua Biến Tham Chiếu
Biến Tham Chiếu và Kiểu Tham Chiếu
Trong lập trình Java, khái niệm về biến tham chiếu và kiểu tham chiếu là rất quan trọng. Những khái niệm này liên quan đến cách mà các object được tạo ra và quản lý thông qua việc tham chiếu đến chúng.
-
Biến tham chiếu (Reference Variables): Là những biến dùng để lưu trữ địa chỉ của một object. Ví dụ, để khai báo một biến tham chiếu cho một hình tròn, chúng ta có:
javaCircle myCircle;
-
Kiểu tham chiếu (Reference Types): Là loại dữ liệu mà biến tham chiếu có thể trỏ tới, thường dựa trên class hoặc interface. Kiểu tham chiếu xác định cách các object thuộc class hoặc interface đó được tạo và quản lý. Để khởi tạo biến tham chiếu, chúng ta thường sử dụng toán tử
new
như sau:javaCircle myCircle = new Circle();
Tại đây, myCircle
là một biến tham chiếu kiểu Circle
, cho phép nó tham chiếu đến một object của class Circle
.
Truy Cập Dữ Liệu và Phương Thức của Object
Khi muốn truy cập dữ liệu hoặc phương thức của một object trong Java, bạn cần sử dụng biến tham chiếu và dấu chấm (.
). Dưới đây là cách để thực hiện điều này:
-
Truy Cập Các Thuộc Tính (Dữ Liệu) của Object:
Để lấy giá trị một thuộc tính, bạn sử dụng biến tham chiếu kết hợp với tên thuộc tính.Ví dụ:
javaHocSinh student = new HocSinh("John", 1001); String ten = student.ten; // Truy cập thuộc tính 'ten' int maHocSinh = student.maHocSinh; // Truy cập thuộc tính 'maHocSinh'
-
Gọi Phương Thức của Object:
Để gọi một phương thức, sử dụng biến tham chiếu với dấu chấm và tên phương thức:javastudent.hienThiThongTin(); // Gọi phương thức 'hienThiThongTin'
-
Truy Cập Phương Thức và Lấy Giá Trị Trả Về:
Nếu phương thức trả về giá trị, bạn có thể sử dụng giá trị đó:javadouble diemTrungBinh = student.tinhDiemTrungBinh(); // Gọi phương thức và lấy giá trị trả về System.out.println("Điểm trung bình của học sinh là: " + diemTrungBinh);
Như vậy, biến student
là một biến tham chiếu đến object HocSinh
, cho phép truy cập và sử dụng các thông tin và hành vi của object đó.
Từ Khóa Static
Giới Thiệu
Từ khóa static
trong Java được dùng để khai báo biến, hằng số và phương thức thuộc về class thay vì thuộc về một object cụ thể. Dưới đây là các điểm nổi bật về biến, hằng số và phương thức sử dụng static:
-
Biến Static:
- Biến static là biến của class, không phải của object. Tất cả các object của class chia sẻ cùng một bản sao của biến này.
javapublic class Example { static int staticVariable = 10; }
-
Hằng Số Static:
- Hằng số static được khai báo với từ khóa
final
vàstatic
, thường được đặt tên bằng chữ in hoa để dễ nhận biết.
javapublic class Example { static final int MAX_VALUE = 100; }
- Hằng số static được khai báo với từ khóa
-
Phương Thức Static:
- Phương thức static được gọi trực tiếp từ tên class mà không cần phải tạo object.
javapublic class Example { static void staticMethod() { System.out.println("This is a static method."); } }
Khi Nào Nên Sử Dụng Static
Sử dụng static
khi bạn muốn thành phần của class (biến, hằng số, phương thức) không phụ thuộc vào object. Một số tình huống phổ biến bao gồm:
-
Biến Static: Khi cần chia sẻ một giá trị giữa tất cả các object của class:
javapublic class Example { static int instanceCount = 0; }
-
Hằng Số Static: Khi định nghĩa các hằng số mà không cần tạo object:
javapublic class Constants { static final double PI = 3.14159; }
-
Phương Thức Static: Khi phương thức không phụ thuộc vào trạng thái của object:
javapublic class MathUtils { static int add(int a, int b) { return a + b; } }
Ví Dụ Thực Tế
Dưới đây là một ví dụ về việc quản lý số lượng object đã được tạo của một class:
java
public class Product {
private static int totalProducts = 0;
private int productId;
private String productName;
public Product(String name) {
this.productName = name;
this.productId = ++totalProducts;
}
public static int getTotalProducts() {
return totalProducts;
}
public int getProductId() {
return productId;
}
public String getProductName() {
return productName;
}
}
Phương thức getTotalProducts()
cho phép truy xuất tổng số lượng sản phẩm mà không cần tạo object cụ thể.
Một Số Lưu Ý
Khi sử dụng static
, cần lưu ý những điểm sau để tránh các vấn đề có thể gặp:
-
Không Sử Dụng Quá Nhiều Biến Static: Việc này có thể dẫn đến sự chia sẻ trạng thái toàn cục, gây khó hiểu cho code.
-
Biến Static Không Thay Đổi: Tránh thay đổi giá trị của biến static sau khi đã khởi tạo, để kiểm soát tốt hơn.
-
Sử Dụng Static Constants: Đặt tên hằng số bằng chữ in hoa và sử dụng dấu gạch dưới.
-
Thread Safety: Trong môi trường đa luồng, cần có biện pháp đồng bộ hóa khi sử dụng biến static.
Tổng Kết
Trong bài viết này, chúng ta đã khám phá các khái niệm quan trọng trong Java như từ khóa static
, biến tham chiếu và kiểu tham chiếu. Việc hiểu rõ các khái niệm này sẽ giúp bạn viết code Java hiệu quả và dễ bảo trì, đồng thời nâng cao khả năng quản lý trạng thái của chương trình.
source: viblo