Từ khóa super trong Java có tác dụng gì? Sử dụng thế nào? bla… bla… Hãy cùng sharecs.net tìm hiểu trong bài viết này nhé.
Super trong java là gì ?
Trong Java, super() là một từ khóa được sử dụng để gọi phương thức khởi tạo của lớp cha trong một lớp con.
Khi một lớp con được tạo ra, nó kế thừa các thuộc tính và phương thức từ lớp cha của nó. Để khởi tạo các thuộc tính được kế thừa và thực thi các lệnh trong phương thức khởi tạo của lớp cha, ta có thể sử dụng từ khóa super() để gọi phương thức khởi tạo của lớp cha.
Ví dụ:
public class ParentClass {
public ParentClass() {
System.out.println("Đây là phương thức khởi tạo của lớp cha.");
}
}
public class ChildClass extends ParentClass {
public ChildClass() {
super(); // Gọi phương thức khởi tạo của lớp cha.
System.out.println("Đây là phương thức khởi tạo của lớp con.");
}
}
Trong ví dụ trên, khi tạo đối tượng của lớp ChildClass, phương thức khởi tạo của lớp cha (ParentClass) được gọi trước, sau đó mới đến phương thức khởi tạo của lớp con (ChildClass). Việc này đảm bảo rằng các thuộc tính và phương thức được kế thừa từ lớp cha đã được khởi tạo đầy đủ trước khi bắt đầu thực thi các lệnh trong phương thức khởi tạo của lớp con.
Cách sử dụng từ khóa super trong Java
Super trong java được sử dụng để tham chiếu đến lớp cha của một lớp con hoặc để gọi phương thức hoặc thuộc tính của lớp cha. Có hai cách sử dụng từ khóa super:
Sử dụng Super() để gọi phương thức hoặc thuộc tính của lớp cha
public class ParentClass {
protected int age;
public ParentClass(int age) {
this.age = age;
}
public void printAge() {
System.out.println("Age: " + age);
}
}
public class ChildClass extends ParentClass {
private String name;
public ChildClass(int age, String name) {
super(age); // gọi phương thức khởi tạo của lớp cha
this.name = name;
}
public void printNameAndAge() {
System.out.println("Name: " + name);
super.printAge(); // gọi phương thức của lớp cha
}
}
Trong ví dụ trên, super(age) được sử dụng để gọi phương thức khởi tạo của lớp cha và super.printAge() được sử dụng để gọi phương thức printAge() của lớp cha.
Sử dụng super để tham chiếu đến lớp cha
public class ParentClass {
protected int age;
public ParentClass(int age) {
this.age = age;
}
}
public class ChildClass extends ParentClass {
private String name;
public ChildClass(int age, String name) {
super(age); // gọi phương thức khởi tạo của lớp cha
this.name = name;
}
public void printParentAge() {
System.out.println("Parent age: " + super.age); // tham chiếu đến age của lớp cha
}
}
Trong ví dụ trên, super.age được sử dụng để tham chiếu đến thuộc tính age của lớp cha.
Tóm lại, từ khóa super() được sử dụng để truy cập các thành phần của lớp cha trong một lớp con và để gọi phương thức hoặc thuộc tính của lớp cha.
Cảm ơn các bạn đã ghé thăm. Chúc các bạn thành công!