Computer >> Máy Tính >  >> Lập trình >> Java

Tại sao một hàm tạo không thể là cuối cùng trong Java?

Bất cứ khi nào bạn tạo một phương thức cuối cùng, bạn không thể ghi đè nó. tức là bạn không thể cung cấp triển khai cho phương thức cuối cùng của lớp cha từ lớp con.

tức là mục đích của việc tạo một phương thức cuối cùng là để ngăn chặn việc sửa đổi một phương thức từ bên ngoài (lớp con).

Trong kế thừa bất cứ khi nào bạn mở rộng một lớp. Lớp con kế thừa tất cả các thành viên của lớp cha ngoại trừ các hàm tạo.

Nói cách khác, các hàm tạo không thể được kế thừa trong Java, do đó bạn không thể ghi đè công cụ xây dựng.

Vì vậy, viết cuối cùng trước các hàm tạo không có ý nghĩa gì. Do đó, java không cho phép từ khóa cuối cùng trước một hàm tạo.

Nếu bạn cố gắng, hãy tạo một hàm tạo cuối cùng, lỗi thời gian biên dịch sẽ được tạo ra với nội dung “không cho phép sửa đổi cuối cùng ở đây”.

Ví dụ

Trong chương trình Java sau, lớp Student có một hàm tạo là cuối cùng.

public class Student {
   public final String name;
   public final int age;
   public final Student() {
      this.name = "Raju";
      this.age = 20;
   }
   public void display() {
      System.out.println("Name of the Student: "+this.name );
      System.out.println("Age of the Student: "+this.age );
   }
   public static void main(String args[]) {
      new Student().display();
   }
}

Lỗi thời gian biên dịch

Khi biên dịch, chương trình trên tạo ra lỗi sau.

Student.java:6: error: modifier final not allowed here
   public final Student(){
                ^
1 error