VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test

Java Cơ Bản

Java là gì? Lịch sử Java Các tính năng của Java Cài đặt môi trường Java (cho người mới bắt đầu) Thiết lập PATH cho java Chương trình Hello World JDK, JRE và JVM Biến trong java Các kiểu dữ liệu trong java Ép kiểu (Type casting) Các toán tử trong Java Hệ thống Unicode trong java

Câu Lệnh Điều Khiển

Mệnh đề If-else Mệnh đề Switch-case Vòng lặp For Vòng lặp While Vòng lặp Do-While Break trong java Continue trong java Chương trình java kinh điển

Các Tính Chất Của Java OOPs

Tính đóng gói trong java Tính kế thừa trong java Tính đa hình trong java Nạp chồng phương thức Ghi đè phương thức Overloading vs Overriding

Các Khái Niệm Java OOPs

Tổng quan java OOPs Lớp và đối tượng Package trong java Constructor trong java Từ khóa this trong java Từ khóa super trong java Từ khóa final trong java Từ khóa static trong java Access Modifier trong java Abstract class trong java Interface trong java Abstract vs Interface trong java Lớp Object trong java Object Cloning trong java equals() và hashCode() Array (mảng) trong java Khai báo mảng trong java Duyệt mảng trong java Lớp Wrapper trong java Đệ quy trong java Truyền giá trị và tham chiếu trong java Toán tử instanceof trong java Sử dụng regex trong java

Mô Hình MVC

Mô hình MVC là gì? - Ví dụ login sử dụng mô hình MVC trong Java

Java Programs

Tính giai thừa trong java Check số nguyên tố trong java Dãy số Fibonacci trong java Chuyển đổi hệ cơ số trong java Liệt kê n số nguyên tố đầu tiên trong Java
Java String Xử Lý Ngoại Lệ Các Lớp Lồng Nhau Đa Luồng (Multithreading) Java AWT Java Swing Java I/O Ví Dụ Java I/O Lập Trình Mạng Với Java Java Date Chuyển Đối Kiểu Dữ Liệu Java Collections Java JDBC Các Tính Năng Mới Trong Java Java Math Bài Tập Java Có Lời Giải Câu Hỏi Phỏng Vấn Java
1 / 3
❮ ❯

Từ khóa final trong java


Từ khóa super trong java
Từ khóa static trong java

Từ khóa final trong Java được sử dụng để hạn chế người dùng. Từ khóa final có thể được sử dụng trong nhiều ngữ cảnh:

  1. Biến final: bạn không thể thay đổi giá trị của biến final (nó sẽ là hằng số).
  2. Phương thức final: bạn không thể ghi đè phương thức final.
  3. Lớp final: bạn không thể kế thừa lớp final.
  4. Biến static final trống: Một biến final mà không được khởi tạo tại thời điểm khai báo được gọi là biến final trống.

Từ khóa final có thể được áp dụng với các biến, một biến final mà không có giá trị nào được gọi là biến final trống hoặc biến final không được khởi tạo. Nó chỉ có thể được khởi tạo trong Constructor. Biến final trống cũng có thể là static mà sẽ chỉ được khởi tạo trong khối static. Chúng ta sẽ tìm hiểu chi tiết về những điều này.


Nội dung chính

  • 1.Biến final trong Java
  • 2. Phương thức final trong Java
  • 3. Lớp final trong Java
  • 4. Biến static final trống trong Java

1.Biến final trong Java

Nếu bạn tạo bất cứ biến nào là final, bạn không thể thay đổi giá trị của biến final (nó sẽ là hằng số).

Ví dụ của biến final trong Java:

Giả sử có một biến final là MAX_SPEED. Bạn cố ý thay đổi giá trị của biến này nhưng nó không bị thay đổi, bởi vì biến final một khi được gán giá trị thì không bao giờ thay đổi được.

public class FinalExam1 {
    final int MAX_SPEED = 90; // biến final

    void run() {
        MAX_SPEED = 400;
    }

    public static void main(String args[]) {
        FinalExam1 obj = new FinalExam1();
        obj.run();
    }
}

Kết quả:

Compile Time Error
Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    The final field FinalExam1.MAX_SPEED cannot be assigned


2. Phương thức final trong Java

Trong java, bạn không thể ghi đè phương thức final.

Ví dụ về phương thức final trong java

class Bike {
    final void run() {
        System.out.println("running");
    }
}

public class SH extends Bike {
    void run() {
        System.out.println("Chay an toan voi 150km/h");
    }

    public static void main(String args[]) {
        SH sh = new SH();
        sh.run();
    }
}

Kết quả:

Exception in thread "main" java.lang.VerifyError: class vn.viettuts.keywords.SH overrides final method run.()V

3. Lớp final trong Java

Trong java, bạn không thể kế thừa lớp final.

Ví dụ về lớp final trong java:

final class Bike {
}

public class SH1 extends Bike {
    void run() {
        System.out.println("Chay an toan voi 150km/h");
    }

    public static void main(String args[]) {
        SH1 sh = new SH1();
        sh.run();
    }
}

Kết quả:

Compile Time Error

Câu hỏi: Phương thức final có được kế thừa không?

Trả lời: Có, phương thức final được kế thừa nhưng bạn không thể ghi đè nó. Ví dụ:

class Bike {
    final void run() {
        System.out.println("running...");
    }
}

class Honda2 extends Bike {
    public static void main(String args[]) {
        new Honda2().run();
    }
}

Kết quả:

running...

Câu hỏi: Biến final trống hoặc không được khởi tạo là gì?

Một biến final mà không được khởi tạo tại thời điểm khai báo được gọi là biến final trống.

Nếu bạn muốn tạo một biến mà được khởi tạo tại thời điểm tạo đối tượng và một khi nó đã được khởi tạo thì không thể bị thay đổi, thì biến final trống là hữu ích trong trường hợp này. Ví dụ như số thẻ PAN CARD của một nhân viên.

Nó chỉ có thể được khởi tạo trong Constructor.

Ví dụ:

public class Student {
    int id;
    String name;
    final String PAN_CARD_NUMBER; // Biến final trống
    
    public Student() {
        PAN_CARD_NUMBER = "7777";
    }
}


4. Biến static final trống trong Java

Một biến static final mà không được khởi tạo tại thời điểm khai báo thì đó là biến static final trống. Nó chỉ có thể được khởi tạo trong khối static.

Ví dụ:

public class A {
    static final int data; // Biến static final trống
    static {
        data = 50;
    }

    public static void main(String args[]) {
        System.out.println(A.data);
    }
}

Câu hỏi: Tham số final là gì?

Nếu bạn khai báo bất cứ tham số nào là final, thì bạn không thể thay đổi giá trị của nó.

Ví dụ:

class B {
    int cube(final int n) {
        n = n + 2; // không thể thay đổi được khi n là final
        return n;
    }

    public static void main(String args[]) {
        B b = new B();
        b.cube(5);
    }
}

Kết quả:

Compile Time Error

Câu hỏi: Chúng ta có thể khai báo một constructor final không?

Không, bạn không thể khai báo một construtor với từ khóa final trong java.


Từ khóa super trong java
Từ khóa static trong java

Bài viết liên quan:

  • Từ khóa this trong java
  • Từ khóa super trong java
  • Từ khóa static trong java
  • Access Modifier trong Java
  • Tính đóng gói trong java
  • Tính kế thừa trong java
  • Tính đa hình trong java

Recent Updates

Sắp Tết 2024 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2024?Java Swing - Bài tập quản lý sinh viên trong javaLinkedList trong javaArrayList trong javaBài tập java có lời giảiSử dụng Javascript trong HTMLToán tử dấu 2 chấm (::) trong Java 8Lambda Expression - Biểu thức Lambda trong java 8Bài tập Java - Sắp xếp nhanh (Quick Sort) trong JavaBài tập Java - Sắp xếp chèn (Insertion Sort) trong JavaBài tập Java - Sắp xếp nổi bọt (Bubble Sort) trong JavaBài tập quản lý sinh viên trong JavaHashSet trong java

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn
Danh Sách Bài Học

Học Java | Hibernate | Spring
Học Excel | Excel VBA
Học Servlet | JSP | Struts2
Học C | C++ | C#
Học Python
Học SQL

Bài Tập Có Lời Giải

Bài tập Java
Bài tập C
Bài tập C++
Bài tập C#
Bài tập Python
Ví dụ Excel VBA

Câu Hỏi Phỏng Vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml