Khi lập trình trong Java, việc khai báo class là một phần quan trọng và ảnh hưởng đến cấu trúc và chất lượng của code. Trong bài viết này, chúng ta sẽ tìm hiểu về nguyên tắc và quy tắc quan trọng trong việc khai báo class trong Java.
1. Nguyên tắc khai báo source file (file .java)
Trong source file (file .java), có một số nguyên tắc cần tuân thủ như sau:
- Mỗi file .java chỉ được chứa tối đa một public class (không tính class con).
- Các bình luận (comment) có thể xuất hiện ở đầu file, cuối file hoặc bất kỳ dòng nào.
- Nếu có một public class trong file, tên của class đó phải trùng với tên của file.
- Nếu class là một phần của một package, phải khai báo package ở dòng đầu tiên trong file.
- Nếu sử dụng import, chúng phải nằm giữa khai báo package (nếu có) và khai báo class.
- Khai báo import và package được áp dụng cho tất cả các class bên trong file. Không có cách nào để thực hiện khai báo nhiều class trong một file mà sử dụng package/import khác nhau.
- Nếu file không có public class nào, chúng có thể đặt tên không trùng với bất kỳ class nào.
Ví dụ:
[Khai báo class trong Java, Ví dụ khai báo class]
Mình khai báo public class Student trong package stackjava.com.demo.package1. Đây là public class nên tên của class phải trùng với tên file (Student.java). Class Address được khai báo như một biến bên trong class Student nhưng nó nằm ở một package khác nên phải import package chứa class Address: import stackjava.com.demo.package2.Address.
2. Khai báo class và modifier
Modifier là các từ được sử dụng trước các khai báo class, biến, method để thể hiện tính chất của class/biến/method đó. Có hai loại modifier, đó là access modifiers và non-access modifiers.
2.1. Access modifiers
Access modifiers bao gồm: public, protected, private và default.
- public: Cho phép tất cả các class từ mọi package truy cập.
- protected: Cho phép tất cả các class từ cùng một package hoặc các class con trong package khác hoặc các class con của class đó truy cập.
- private: Chỉ cho phép các class trong cùng một file hoặc cùng một class truy cập.
- default: Chỉ cho phép các class trong cùng một package truy cập.
2.2. Non-access modifiers
Non-access modifiers bao gồm: strictfp, final và abstract.
- strictfp: Sử dụng để xác định rằng toán tử dấu phẩy động (floating-point) trong class sẽ tuân thủ tiêu chuẩn IEEE 754.
- final: Sử dụng để chỉ định rằng class không thể được thừa kế bởi class khác hoặc các method không thể bị ghi đè.
- abstract: Sử dụng để chỉ định rằng class là abstract và không thể tạo được thể hiện của nó. Trong trường hợp này, abstract class thường được sử dụng để chứa các thuộc tính chung và để cho các class khác thừa kế.
Ví dụ:
[Khai báo class trong Java, Nguyên tắc khai báo class]
Trong file Demo.java không có public class nào, nên tên class bên trong không cần trùng với tên file. Các comment có thể xuất hiện ở bất kỳ dòng nào.
Tổng kết
Trên đây là những nguyên tắc và quy tắc quan trọng khi khai báo class trong Java. Việc tuân thủ những nguyên tắc này sẽ giúp bạn viết code rõ ràng, dễ hiểu và dễ bảo trì. Nếu bạn muốn tìm hiểu thêm về Java core, hãy truy cập đây.
References: