Java super

Giới thiệu về từ khóa super trong Java

Trong ngôn ngữ lập trình Java, từ khóa super được sử dụng để tham chiếu đến lớp cha (superclass) của một lớp hiện tại (subclass). Nó cho phép lập trình viên truy cập đến các thành phần (biến và phương thức) của lớp cha, đặc biệt trong bối cảnh kế thừa. Từ khóa super thường được dùng trong các tình huống như:

  • Gọi phương thức của lớp cha.
  • Truy cập vào biến của lớp cha.
  • Gọi constructor (hàm khởi tạo) của lớp cha.

Cú pháp

Cú pháp của từ khóa super rất đơn giản. Dưới đây là một số ví dụ minh họa cách sử dụng:

1. Gọi phương thức của lớp cha

class Parent {
    void display() {
        System.out.println("Phương thức display() từ lớp cha.");
    }
}

class Child extends Parent {
    void display() {
        super.display(); // Gọi phương thức display() của lớp cha
        System.out.println("Phương thức display() từ lớp con.");
    }
}

public class Main {
    public static void main(String[] args) {
        Child obj = new Child();
        obj.display();
    }
}

Kết quả sẽ là:

Phương thức display() từ lớp cha.
Phương thức display() từ lớp con.

2. Truy cập biến của lớp cha

class Parent {
    int number = 10;
}

class Child extends Parent {
    int number = 20;

    void display() {
        System.out.println("Biến number từ lớp cha: " + super.number); // Truy cập biến number của lớp cha
        System.out.println("Biến number từ lớp con: " + number);
    }
}

public class Main {
    public static void main(String[] args) {
        Child obj = new Child();
        obj.display();
    }
}

Kết quả sẽ là:

Biến number từ lớp cha: 10
Biến number từ lớp con: 20

3. Gọi constructor của lớp cha

class Parent {
    Parent() {
        System.out.println("Constructor của lớp cha được gọi.");
    }
}

class Child extends Parent {
    Child() {
        super(); // Gọi constructor của lớp cha
        System.out.println("Constructor của lớp con được gọi.");
    }
}

public class Main {
    public static void main(String[] args) {
        Child obj = new Child();
    }
}

Kết quả sẽ là:

Constructor của lớp cha được gọi.
Constructor của lớp con được gọi.

Kết luận

Từ khóa super là một công cụ mạnh mẽ trong Java, giúp lập trình viên dễ dàng làm việc với các lớp và kế thừa. Bằng cách sử dụng super, bạn có thể truy cập và kế thừa các thuộc tính và phương thức của lớp cha một cách dễ dàng, qua đó tạo ra mã nguồn rõ ràng, dễ bảo trì và mở rộng. Hi vọng bài viết này mang lại cho bạn cái nhìn rõ nét hơn về cách sử dụng super trong Java!