Một class trong Java được định nghĩa bởi từ khóa class và để các bạn mới bắt đầu có thể nắm rõ hơn, trong bài viết này mình sẽ trình bày những kiến thức cơ bản về cấu trúc và các thành phần của nó một cách chi tiết nhất có thể.
Đầu tiên, mình xin nói là một Java class sẽ bao gồm những thành phần sau:
- Câu lệnh package khai báo nơi mà class của chúng ta sẽ được lưu trữ trong toàn bộ dự án.
- Câu lệnh import những class khác sẽ được sử dụng trong class của chúng ta.
- Các chú thích (comment).
- Khai báo và định nghĩa class của chúng ta.
- Các biến.
- Các phương thức.
- Các constructor.
Bây giờ chúng ta sẽ đi sâu vào chi tiết từng thành phần nhé các bạn!
Câu lệnh package
Mọi class trong Java đều phải nằm trong một package nào đó, chúng ta có thể đặt tên cho package hoặc nếu không class của chúng ta sẽ nằm trong default package. Để khai báo package cho một class, chúng ta sẽ dùng câu lệnh package và tiếp theo đó sẽ là tên của package.
Cú pháp của nó như sau:
1 |
package com.huongdanjava; |
Với com.huongdanjava là tên của package.
Ví dụ mình định nghĩa class Student nằm trong package com.huongdanjava như sau:
Câu lệnh package không thể nằm bên trong hay nằm sau phần định nghĩa của class, nếu bạn đặt nó bên trong hoặc nằm sau phần định nghĩa của class, đoạn code của class này sẽ bị lỗi compile ngay.
Ví dụ:
Hay
Trong một class, chúng ta không thể khai báo quá một lần câu lệnh package, nếu khai báo quá đồng nghĩa với việc sẽ bị lỗi compile.
Câu lệnh import
Câu lệnh import dùng để khai báo những class sẽ sử dụng trong class của chúng ta. Nếu những class mà chúng ta sử dụng nằm cùng package với class của chúng ta thì chúng ta có thể không cần khai báo câu lệnh import cho những class này.
Cú pháp của nó như sau:
1 |
import com.huongdanjava.other.Student; |
hoặc
1 |
import com.huongdanjava.other.*; |
Ví dụ, ở đây mình có 2 class là Student và Class cùng nằm trong package com.huongdanjava.
Lúc này, nếu sử dụng class Student trong class Class thì mình không cần phải sử dụng câu lệnh import để khai báo class Student.
Nếu bây giờ class Student mình chuyển nó qua package com.huongdanjava.other
Thì bắt buộc mình phải khai báo câu lệnh import cho class Student
Câu lệnh import phải nằm sau câu lệnh package, nếu bạn làm sai thì sẽ bị lỗi compile ngay.
Các chú thích
Java cho phép chúng ta sử dụng chú thích trong code. Chú thích có thể xuất hiện bất kỳ đâu trong code Java: trước hoặc sau câu lệnh package và tất nhiên cả câu lệnh import, trước và sau định nghĩa của class, cả trước và sau định nghĩa của phương thức nữa.
Có hai cách thêm chú thích vào code Java, đó là:
- Chú thích nhiều dòng: bắt đầu bằng /* và kết thúc bằng */, tất cả những ký tự giữa hai ký tự này đều được xem là chú thích.
- Chú thích ở cuối dòng: bắt đầu bằng //, tất cả các ký tự phía sau dòng đó được xem như là chú thích.
Hãy xem ví dụ sau nha các bạn:
Đây là chú thích nhiều dòng. Thông thường khi sử dụng chú thích nhiều dòng, chúng ta hay thêm ký tự * ở đầu mỗi dòng như sau:
Cái này không bắt buộc, chỉ có tác dụng tăng thêm tính thẫm mỹ cho code của chúng ta mà thôi.
Còn bên dưới là chú thích một dòng:
Khai báo class
Theo cách đơn giản nhất, một class được khai báo phải có sử dụng từ khóa class, kèm theo đó là tên của class đó và hai dấu ngoặc nhọn đóng mở.
Ví dụ:
Ngoài ra, để khai báo một class chúng ta còn có thể thêm các thành phần khác như:
- Access modifier.
- Nonaccess modifier.
- Tên của class cha nếu class của chúng ta extends từ một class khác.
- Các interface class nếu class của chúng ta hiện thực một hoặc nhiều interface nào đó.
- Phần thân của class.
Ví dụ như sau:
Định nghĩa class
Một class sẽ định nghĩa các thuộc tính và hành vi của một đối tượng nào đó. Trong một class, các biến thể hiện các thuộc tính của đối tượng và các phương thức thể hiện hành vi của đối tượng đó.
Ví dụ một sinh viên có các thuộc tính là tên sinh viên và tuổi sinh viên đó, hành vi của sinh viên này là đi học. Để hiển thị sinh viên này bằng đối tượng Java, chúng ta sẽ khai báo tên và tuổi của sinh viên bằng các biến, và việc đi học hàng ngày sẽ là phương thức. Cụ thể như sau:
Biến
Một class sẽ chứa nhiều biến thể hiện các thuộc tính của một đối tượng nào đó.
Như ví dụ ở trên thì biến name và age là thuộc tính của đối tượng Student.
Phương thức
Tương tự như biến nhưng phương thức là thể hiện hành vi của một đối tượng nào đó.
Constructor
Mỗi đối tượng Java đều phải có ít nhất một constructor, bởi vì không có constructor chúng ta sẽ không thể tạo được đối tượng Java.
Chúng ta có thể có nhiều constructor trong một class nhưng bắt buộc chúng phải khác các tham số.
Hoang Le
Bổ sung thêm là nó còn static block, inner classes và annotation (Java 5+) nhé bạn
Khanh Nguyễn
Cảm ơn bạn,
Thật ra là nó còn có nested classes, nested interface, enum nữa.
Mình sẽ suy nghĩ để bổ sung cho đầy đủ những phần thiếu này.
Thân,