Từ khóa Final trong Java

Xin chào hôm nay bạn sẽ được tìm hiểu về từ khóa final trong Java. Với final có thể áp dụng cho lớp (Class), phương thức (Method), biến (Variables). Vậy thì cụ thể thằng final này dùng để làm gì và dùng nó như thế nào? Mời bài đọc tiếp bài sau đây.

Từ khóa Final trong Java là gì?

Final tạm hiểu là ngăn chặn việc sửa đổi dùng cho lớp, phương thức và biến.

Trong lập trình hướng đối tượng không phải tất cả dữ liệu đều được chia sẻ. Những thông tin cần bảo mật sẽ phải che giấu để đảm bảo an toàn.

Biến final trong Java

Biến có từ khoá final được hiểu là một hằng số. Điều đó khiến chúng ta không thể thay đổi giá trị của các biến final sau khi khởi tạo.

Hãy chạy ví dụ sau:

public class Test {
    
    final int numberOne = 10;
    public static void main(String[] args) {
        Test test = new Test();
        test.numberOne = 15; // compile error
        System.out.println(test.numberOne);
    }
}

bien-final-java

Trong ví dụ trên mình đã khai báo một biến numberOne với giá trị là 10, sau đó truy cập vào để cố gắng sửa đổi giá trị. Nhưng final đã chặn lại việc đó. Gây nên lỗi trong JVM.

Phương thức final trong Java

Lớp con có thể kế thừa và sử dụng phương thức nhưng không thể ghi đè (override) lên được.

Tạo ra một file là Test.java

public class Test {
    
    final void read()
      {
        System.out.println("Tôi đang đọc sách");
      }
}

Tiếp theo tạo file extendsTest.Java

public class extendsTest extends Test {

      void read()
      {
        System.out.println("Đọc cái gì vậy?");
      }

      public static void main(String args[]) {
        extendsTest object= new extendsTest();
        object.read();
      }


}

phuong-thuc-final-java

Với ví dụ trên mình đã sử dụng extendsTest để kế thừa Test. Và cố gắng ghi đè (Overriding) nhưng hoàn toàn thất bại. Do từ khóa final đã chặn ghi đè. Để xác thực bạn hãy xóa final đi xem lỗi có còn nữa không.

Lớp final trong Java

Một lớp khi khai báo với từ khóa final sẽ không thể kế thừa được.

Hãy chạy ví dụ sau:

Test.java

final class Test{
    
    String exam = "Đây là một ví dụ về Class Final";
    
    void display() {
        System.out.println(exam);
    }
    
}

extendsTest.java

public class extendsTest extends Test{
    
    public static void main(String[] args) {
        
        extendsTest demo = new extendsTest();
        demo.display();
    }
}

Để không lỗi nữa bạn hãy xóa final đi.

Trên đây chúng ta đã cùng nhau điểm qua về Class, Method và biến sử dụng từ khóa Final trong Java. Bạn có thể final có thú vị không? Nếu thấy hay hãy ghi nhớ và ghi chép lại để lập trình Java tốt hơn nhé.

Related Posts

Next.js – Khám phá Framework JavaScript tuyệt vời cho phát triển ứng dụng web

Giới thiệu về Next.js Next.js là một framework JavaScript mã nguồn mở và phổ biến được sử dụng để xây dựng các ứng dụng web hiệu suất…

Tạo Form đăng ký bằng Javascript

Ghi đè trong java, cách thực hiện chi tiết

Trong lập trình hướng đối tượng, ghi đè là một kỹ thuật cho phép các đối tượng con ghi đè lại phương thức của đối tượng cha…

noi-chuoi-java

Nối chuỗi trong Java

Nối chuỗi trong Java là phương pháp nối hai chuỗi riêng biệt lại với nhau. Bạn có thể sử dụng toán tử (+) hoặc phương thức concat()….

vuejs-la-gi

Vuejs là gì? Tìm hiểu tổng quan về Vue.js

JavaScript là ngôn ngữ lập trình phía Front end có độ phổ biến rất lớn. Hàng loạt Framework Js được ra đời được viết từ nó. Và…

Overriding-java-1

Overriding trong Java

Bài viết này sẽ giúp bạn hiểu về tính đa hình trong Java thông qua Overriding. Nếu bạn đã tìm hiểu về kế thừa lớp sẽ thấy…

javascript

Cách gọi hàm JavaScript trong HTML

Hàm (Functions) trong JavaScript nếu không gọi đến nó sẽ không thực thi chức năng. Vì thế để thực hiện một nhiệm vụ nào đó ở trong…