1. Object trong Java

Một thực thể có trạng thái và hành vi được gọi là đối tượng. Một đối tượng sẽ có những đặc trưng riêng của nó.

  • Trạng thái (State) : biểu diễn dữ liệu (giá trị) của một đối tượng.
  • Hành vi(Behavior): biểu diễn hành vi (tính năng) của một đối tượng như gửi tiền vào, rút tiền ra, …
  • Nhận diện(Indentity): việc nhận diện đối tượng được triển khai thông qua một ID duy nhất. Giá trị của ID là không thể nhìn thấy với người dùng bên ngoài. Nhưng nó được sử dụng nội tại bởi JVM để nhận diện mỗi đối tượng một cách duy nhất.

Ví dụ như xe là một đối tượng. Nó là một chiếc ôtô G63 màu trắng là trạng thái của nó. Còn ta sử dụng nó để đi là hành vi của đối tượng này.

Chương trình Java được tạo nên từ trạng thái, hành vi và sự tương tác giữa các đối tượng.

2. Class trong Java?

Class – Lớp trong Java là một nhóm các đối tượng có các thuộc tính chung. Nó là một mẫu hoặc bản thiết kế mà từ đó tạo ra các đối tượng. Nó là một thực thể logic. Nó không thể là vật lý. Một lớp trong Java có thể chứa:

  • Các thuộc tính (các fields/ biến instance): chứa trạng thái của các đối tượng (object) được tạo ra
  • Các method – phương thức: mô tả các hành vi của đối tượng được tạo ra
  • Hàm khởi tạo (hành động thực thi bản thiết kế để tạo ra đối tượng): bản chất cũng là một method , được dùng để tạo ra đối tượng. Hàm khởi tạo chứa các tham số để thiết lập giá trị mặc định cho các thuộc tính gọi là hàm khởi tạo có tham số (mặc định nếu không khai báo hàm khởi tạo thì ta hiểu nó có hàm khởi tạo không tham số)
  • Các block code: các đoạn code được thực thi ngay khi đối tượng được khởi tạo
  • Lớp lồng nhau (Nested class) và Interface

Thực ra trong những ví dụ của những bài học đã qua mình đều sử dụng một từ khóa là class . Nó chính là từ khóa để tạo ra một class trong Java. Cú pháp cụ thể của nó là:

assess_modifier class name {
    // code
}

Trong đó:

  • assess_modifier là phạm vi truy cập của class . assess_modifier sẽ là 1 trong 4 giá trị sau: public , protected , private , default hoặc bỏ trống
  • name là tên của class

Chú ý

Nếu classassess_modifierpublic thì bắt buộc tên file phải trùng với tên class

Ví dụ:

public class Xe {
    // code
}

Trong ví dụ trên thì class Xe phải được khai báo trong file Xe.java

Hoặc một class có tên là Main với một biến x và in ra màn hình

public class Main {
  int x = 5;

  public static void main(String[] args) {
    Main myObj = new Main();
    System.out.println(myObj.x);
  }
}

Kết quả

5

3. Tạo một đối tượng trong Java

Trong Java, một đối tượng được tạo từ một lớp. Chúng ta đã tạo lớp có tên Main , vì vậy bây giờ chúng ta có thể sử dụng nó để tạo các đối tượng. Để tạo một đối tượng Main , hãy chỉ định tên lớp, theo sau là tên đối tượng và sử dụng từ khóa new . Sử dụng từ khóa new là cách đơn giản nhất để tạo một đối tượng.

Ví dụ:

public class Main {
  int x = 5;

  public static void main(String[] args) {
    Main myObj = new Main();
    System.out.println(myObj.x);
  }
}

Kết quả

5

Ngoài ra ta cũng có thể tạo nhiều đối tượng cùng lúc

public class Main {
  int x = 5;

  public static void main(String[] args) {
    Main myObj1 = new Main();  // Object 1
    Main myObj2 = new Main();  // Object 2
    System.out.println(myObj1.x);
    System.out.println(myObj2.x);
  }
}

Kết quả

5
5

4. Thuộc tính class trong Java

Thuộc tính trong class là một biến được khai báo bên trong 1 class , nhưng lại không nằm trong một phương thức nào.

Để khai báo một thuộc tính trong class các bạn sử dụng cú pháp sau:

assess_modifier option property_type name;

Trong đó:

  • assess_modifier là phạm vi truy cập của thuộc tính. assess_modifier sẽ là 1 trong 4 giá trị sau: public , protected , private , default hoặc bỏ trống
  • option là loại của thuộc tính. option có thể là final hoặc static hoặc bỏ trống.
  • property_type là kiểu dữ liệu của thuộc tính.
  • name là tên của thuộc tính.

Ví dụ:

public class Xe {
 
  private int soBanh;

  private int tocDo;
}

5. Phương thức class trong Java

Phương thức trong class là một hàm được để thực thi một hoặc nhiều hành động trong một class .

Để khai báo phương thức trong chúng ta sử dụng cú pháp:

assess_modifier option method_type name(arguments) {
    // code
}

Trong đó:

  • assess_modifier là phạm vi truy cập của phương thức. assess_modifier sẽ là 1 trong 4 giá trị sau: public , protected , private , default hoặc bỏ trống
  • option là loại của phương thức. option có thể là final hoặc static hoặc bỏ trống.
  • method_type là kiểu dữ liệu trả về của phương thức. Nếu phương thức không trả về dữ liệu thì method_type sẽ là void .
  • name là tên của phương thức.
  • arguments là các tham số truyền vào thương thức.

Ví dụ:

public class Xe {
  public int soBanh;

  public int tocDo;

  public int getSoBanh() {
    return soBanh;
  }

  public void setSoBanh(int soBanh) {
    this.soBanh = soBanh;
  }

  public int getTocDo() {
    return tocDo;
  }

  public void setTocDo(int tocDo) {
    this.tocDo = tocDo;
  }
}

Trong ví dụ trên mình đã thêm các phương thức để xét và lấy ra các giá trị của thuộc tính trong class