Rate this post

“Super” là từ khóa trong ngôn ngữ lập trình Java. Nó được sử dụng để gọi phương thức của lớp cha hoặc truy cập thuộc tính của lớp cha trong một lớp con. Ví dụ:

class A {
    int value = 5;
}

class B extends A {
    void show() {
        System.out.println(super.value); 
    }
}

Các bài viết liên quan:

Trong ví dụ trên, trong lớp B khi gọi super.value sẽ trả về giá trị của thuộc tính value của lớp A

Tại sao sử dụng super trong java

Sử dụng từ khóa “super” có nhiều mục đích trong Java:

  1. Gọi phương thức của lớp cha: Khi một lớp con kế thừa từ một lớp cha, nó có thể có các phương thức tương tự hoặc giống nhau với lớp cha. Sử dụng “super” để gọi phương thức của lớp cha để tránh xung đột tên.
  2. Truy cập thuộc tính của lớp cha: Một lớp con có thể có các thuộc tính cùng tên với lớp cha. Sử dụng “super” để truy cập thuộc tính của lớp cha, để tránh xung đột tên.
  3. Gọi hàm khởi tạo của lớp cha: Khi một lớp con khởi tạo, nó có thể gọi hàm khởi tạo của lớp cha bằng cách sử dụng “super()” trong phần khởi tạo của lớp con.
  4. Gọi hàm khởi tạo của lớp cha với tham số: Một lớp con có thể gọi hàm khởi tạo của lớp cha với tham số bằng cách sử dụng “super(tham số)” trong phần khởi tạo của lớp con.

Một vài ví dụ về sử dụng super trong java

Ví dụ 1: Gọi phương thức của lớp cha:

class A {
    public void show() {
        System.out.println("Class A");
    }
}

class B extends A {
    public void show() {
        super.show();
        System.out.println("Class B");
    }
}

Trong ví dụ trên, khi gọi phương thức show() trong lớp B, nó sẽ gọi đến phương thức show() của lớp cha A và sau đó in ra “Class B”

Ví dụ 2: Truy cập thuộc tính của lớp cha:

class A {
    protected int value = 5;
}

class B extends A {
    public int getValue() {
        return super.value;
    }
}

Trong ví dụ trên, lớp B kế thừa thuộc tính value từ lớp A, và phương thức getValue() trả về giá trị của thuộc tính value của lớp cha A.

Ví dụ 3: Gọi hàm khởi tạo của lớp cha

class A {
    public A() {
        System.out.println("Class A");
    }
}

class B extends A {
    public B() {
        super();
        System.out.println("Class B");
    }
}

Trong ví dụ trên, khi khởi tạo đối tượng B, nó sẽ gọi hàm khởi tạo của lớp cha A và sau đó in ra “Class B”

Ví dụ 4: Gọi hàm khởi tạo của lớp cha với tham số

class A {
    public A(int value) {
        System.out.println("Value: " + value);
    }
}

class B extends A {
    public B(int value) {
        super(value);
        System.out.println("Class B");
    }
}

Trong ví dụ trên, khi khởi tạo đối tượng B với giá trị 5,sẽ gọi hàm khởi tạo của lớp cha A với tham số 5 và sau đó in ra “Value: 5” và “Class B”

Đó là vài ví dụ về cách sử dụng từ khóa “super” trong Java. Từ khóa này rất hữu ích khi bạn muốn sử dụng các thành phần của lớp cha mà không bị xung đột hoặc ghi đè lên các thành phần của lớp cha.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now