Kế thừa là một quan hệ giữa hai lớp trong đó một lớp kế thừa các thuộc tính của lớp kia. Mối quan hệ này có thể được xác định bằng cách sử dụng từ khóa mở rộng là -
public class A extends B{
}
Lớp kế thừa các thuộc tính được gọi là lớp con hoặc lớp con và lớp có các thuộc tính được kế thừa là lớp siêu hoặc, lớp cha.
Trong kế thừa, một bản sao của các thành viên siêu lớp được tạo ra trong đối tượng lớp con. Do đó, bằng cách sử dụng đối tượng lớp con, bạn có thể truy cập các thành viên của cả hai lớp.
Chuyển đổi một biến tham chiếu lớp siêu cấp thành một kiểu lớp con
Bạn có thể cố gắng chuyển đổi biến siêu lớp thành kiểu lớp con bằng cách sử dụng toán tử ép kiểu. Tuy nhiên, trước hết bạn cần tạo tham chiếu lớp siêu bằng cách sử dụng đối tượng lớp con và sau đó, chuyển đổi kiểu tham chiếu (siêu) này thành kiểu lớp con bằng cách sử dụng toán tử ép kiểu.
Ví dụ
class Person{ public String name; public int age; public Person(String name, int age){ this.name = name; this.age = age; } public void displayPerson() { System.out.println("Data of the Person class: "); System.out.println("Name: "+this.name); System.out.println("Age: "+this.age); } } public class Sample extends Person { public String branch; public int Student_id; public Sample(String name, int age, String branch, int Student_id){ super(name, age); this.branch = branch; this.Student_id = Student_id; } public void displayStudent() { System.out.println("Data of the Student class: "); System.out.println("Name: "+super.name); System.out.println("Age: "+super.age); System.out.println("Branch: "+this.branch); System.out.println("Student ID: "+this.Student_id); } public static void main(String[] args) { Person person = new Sample("Krishna", 20, "IT", 1256); //Converting super class variable to sub class type Sample obj = (Sample) person; obj.displayPerson(); obj.displayStudent(); } }
Đầu ra
Data of the Person class: Name: Krishna Age: 20 Data of the Student class: Name: Krishna Age: 20 Branch: IT Student ID: 1256
Ví dụ
class Super{ public Super(){ System.out.println("Constructor of the super class"); } public void superMethod() { System.out.println("Method of the super class "); } } public class Test extends Super { public Test(){ System.out.println("Constructor of the sub class"); } public void subMethod() { System.out.println("Method of the sub class "); } public static void main(String[] args) { Super sup = new Test(); //Converting super class variable to sub class type Test obj = (Test) sup; obj.superMethod(); obj.subMethod(); } }
Đầu ra
Constructor of the super class Constructor of the sub class Method of the super class Method of the sub class