1. Home
  2. Lập Trình
  3. Từ khóa static và final trong java
Avatar of Nguyễn Tuấn Nguyễn Tuấn 1 năm trước

Từ khóa static và final trong java

Final trong java

Trong Java, từ khóa “final” được sử dụng để chỉ định rằng một biến, một phương thức hoặc một lớp không thể thay đổi giá trị hoặc thay đổi cấu trúc của nó sau khi được khởi tạo. Dưới đây là một số trường hợp sử dụng từ khóa “final” trong Java:

Biến final

Biến final là biến không thể thay đổi giá trị sau khi đã được khởi tạo. Việc sử dụng biến final giúp đảm bảo tính không thay đổi của giá trị của biến trong suốt chương trình. Ví dụ:

public final int MAX_NUMBER = 100;
// Giá trị của biến MAX_NUMBER sẽ không thay đổi trong suốt chương trình

Method final

Phương thức final là phương thức không thể bị ghi đè (override) bởi các lớp con. Việc sử dụng phương thức final đảm bảo rằng hành vi của phương thức không thể thay đổi trong các lớp con. Ví dụ:

public final void printMessage() {
    System.out.println("Hello World");
}
// Phương thức printMessage không thể bị ghi đè bởi các lớp con

Class final

Lớp final là lớp không thể được kế thừa (inheritance) bởi các lớp con. Việc sử dụng lớp final đảm bảo rằng cấu trúc của lớp không thể thay đổi trong các lớp con. Ví dụ:

public final class MyFinalClass {
    // ...
}
// Lớp MyFinalClass không thể được kế thừa bởi các lớp con

Từ khóa “final” trong Java đóng vai trò quan trọng trong việc đảm bảo tính hướng đối tượng và bảo mật trong chương trình.

Static trong java

Trong Java, từ khóa “static” được sử dụng để chỉ định rằng một thành phần của một lớp thuộc về lớp đó chứ không phải là các đối tượng được tạo ra từ lớp đó. Các thành phần này được gọi là các thành phần tĩnh (static members), bao gồm:

Biến tĩnh (static variable)

Biến tĩnh là biến được khai báo bằng từ khóa “static”. Biến tĩnh được chia sẻ giữa tất cả các đối tượng được tạo ra từ lớp đó, và có thể được truy cập trực tiếp từ tên lớp mà không cần tạo đối tượng. Ví dụ:

public class MyClass {
    static int x = 0;
}
// Biến x là biến tĩnh, có thể được truy cập trực tiếp từ tên lớp MyClass

Phương thức tĩnh (static method)

Phương thức tĩnh (static method): Phương thức tĩnh là phương thức được khai báo bằng từ khóa “static”. Phương thức tĩnh không được liên kết với bất kỳ đối tượng cụ thể nào, và có thể được gọi trực tiếp từ tên lớp. Ví dụ:

public class MyClass {
    static void myMethod() {
        System.out.println("This is a static method.");
    }
}
// Phương thức myMethod là phương thức tĩnh, có thể được gọi trực tiếp từ tên lớp MyClass

Khối tĩnh (static block)

Khối tĩnh (static block): Khối tĩnh là một khối mã được thực thi khi lớp được tải vào bộ nhớ, trước khi bất kỳ đối tượng nào được tạo ra từ lớp đó. Khối tĩnh thường được sử dụng để khởi tạo các biến tĩnh. Ví dụ:

public class MyClass {
    static int x;
    static {
        x = 5;
    }
}
// Khối tĩnh khởi tạo giá trị của biến x là 5 khi lớp MyClass được tải vào bộ nhớ

Các thành phần tĩnh trong Java được sử dụng để chia sẻ thông tin giữa tất cả các đối tượng của lớp đó, giảm thiểu sự lãng phí bộ nhớ và tăng hiệu suất của chương trình. Tuy nhiên, cần chú ý rằng việc sử dụng quá nhiều thành phần tĩnh có thể làm cho mã của bạn trở nên khó hiểu và khó bảo trì.

Trong java có class static không ?

Trong Java, không có khái niệm “class static”. Tuy nhiên, bạn có thể khai báo một lớp (class) là lớp tĩnh (static class), nghĩa là lớp đó chỉ có thể được truy cập thông qua tên của lớp bao bọc nó, và không thể được tạo thành các đối tượng độc lập. Để khai báo một lớp tĩnh trong Java, bạn cần sử dụng từ khóa “static” trước từ khóa “class”, như sau:

public class MyClass {
    static class MyStaticClass {
        // Các thành phần của lớp tĩnh (static class) được khai báo ở đây
    }
}
// sharecs.net

Các lớp tĩnh trong Java thường được sử dụng để đóng gói các phần mở rộng của lớp chính và giúp tăng tính bảo mật của mã.

Cảm ơn các bạn đã ghé thăm Sharecs.net Chúc các bạn thành công!

0 lượt xem | 0 bình luận
Nếu chỉ đọc những sách người khác hay đọc . Thì bạn chỉ biết được những điều mọi người thường nghĩ .
Đồng ý Cookie
Trang web này sử dụng Cookie để nâng cao trải nghiệm duyệt web của bạn và cung cấp các đề xuất được cá nhân hóa. Bằng cách chấp nhận để sử dụng trang web của chúng tôi