Java Static Class là gì? Cách sử dụng Java Static Class hiệu quả

Hiện nay có thể nói rằng nếu máy tính của bạn không hỗ trợ Java thì sẽ không thể duyệt internet và các ứng dụng máy tính khác. Do vậy Java đóng vai trò quan trọng đối với mỗi chương trình lập trình. Nó là ngôn ngữ phổ biến và hiệu quả cao đặc biệt là rất dễ để học. Để tìm hiểu sâu hơn về Java thì bạn phải nắm được khái niệm về các lớp tĩnh trong Java đó là Java static class. Hãy cùng Box.edu tìm hiểu thêm ở bài viết này ngay nhé!

Mục lục bài viết

Tổng quan về Java Static Class

tong-quan-ve-java-static-class.jpg

Tổng quan về Java Static Class

Ngôn ngữ lập trình Java được hiểu là một ngôn ngữ hướng đối tượng. Một lớp trong Java là một tập hợp các đối tượng. Hay còn gọi là một khuôn mẫu chung mà có thể tạo ra các đối tượng khác nhau. Ví dụ như: nếu bạn chụp một đối tượng trong thế giới thực như ô tô, bạn biết rằng thuật ngữ “ô tô” là một khái niệm phổ biến và có nhiều loại ô tô khác nhau, như SUV, Sedan, xe tải và ô tô hạng sang. Bạn cũng có thể tạo một lớp có tên là “Xe hơi” và các đối tượng thành viên của nó có thể là xe SUV, xe Sedan, xe tải và xe hơi sang trọng. Để khai báo một lớp, chúng ta sẽ sử dụng cú pháp:

xe hạng {
 // mã có thể bao gồm trường, khai báo phương thức và hàm tạo
}

Tại đây, từ khóa “class” sẽ hướng dẫn trình biên dịch tạo ra một tập hợp các đối tượng được gọi là “Car”.

Java Static Class – lớp lồng nhau

Một điều đặc biệt là Java có hỗ trợ khái niệm lớp lồng nhau. Đây là các lớp có thể được định nghĩa ở phần thân của một lớp khác. Việc sử dụng lớp lồng nhau này sẽ cho phép bạn nhóm lại một tập hợp các lớp có liên quan đến nhau về mặt logic. Đồng thời nó làm cho mã trở nên dễ đọc và ít phức tạp hơn. Ngoài ra nó cũng giúp bạn có thể triển khai khái niệm đóng gói dữ liệu một cách tốt hơn. Các mã này cũng trở nên dễ dàng xử lý và phát hiện ra các lỗi nhanh chóng để thực hiện việc thay đổi trong những trường hợp cần thiết.

Ngoài ra các lớp được định nghĩa trong phần thân của lớp được gọi là các lớp lồng nhau và lớp mà chúng được định nghĩa bên trong được gọi là lớp ngoài. Các lớp lồng nhau hơi khác so với các lớp con. Các lớp con không thể truy cập các thành viên riêng của lớp cha của nó, trong khi các lớp lồng nhau thì có thể. Chính vì vậy, trong một số trường hợp, các nhà lập trình viên thích sử dụng các lớp lồng nhau hơn các lớp con.

Nếu chúng ta tiếp tục với ví dụ trước đó của mình, chúng ta có thể thấy rằng với “Xe hơi” là lớp bên ngoài của chúng ta, và các bạn có thể tạo một hoặc nhiều lớp lồng nhau trong nó được gọi là “SUV”, “Sedan”, “xe tải” và “xe sang”. Chúng ta cũng có thể thêm các đối tượng thành viên vào các lớp mới được tạo. Đối với hạng “SUV”, có lẽ chúng ta có thể thêm các loại SUV cụ thể hoặc SUV với các tên thương hiệu khác nhau. Để khai báo một lớp trong một lớp hiện có, chúng ta thường sử dụng cú pháp như sau:

xe hạng {
   //mã số
SUV hạng {
   //mã số
}
xe sedan hạng {
   //mã số
}

Các lớp tĩnh trong Java

Trong ngôn ngữ lập trình Java, chỉ các lớp lồng nhau mới có thể được khai báo là lớp tĩnh. Nếu chúng ta cố gắng khai báo một lớp cấp cao nhất là một lớp tĩnh, nghĩa là các bạn sẽ gặp lỗi. Vậy các lớp tĩnh là gì? Các lớp tĩnh ở đây chính là các lớp lồng nhau hoạt động giống như các lớp cấp cao nhất, ngay cả khi chúng xuất hiện đâu đó ở giữa hoặc dưới cùng của hệ thống phân cấp chương trình (trong một lớp). Các lớp tĩnh này không cần tham chiếu từ lớp bên ngoài. Mà chúng được hoạt động như một lớp bên ngoài bên trong chính họ. Ngoài ra các lớp lồng nhau không tĩnh thông thường cần tham chiếu của lớp bên ngoài. Hay nói cách khác, các lớp tĩnh độc lập với lớp ngoài, trong khi các lớp bên trong khác phụ thuộc vào lớp ngoài.

Cách khai báo một lớp tĩnh

Để có thể khai báo một lớp tĩnh trong lớp “Xe” thì các bạn có thể sử dụng cú pháp dưới đây:

xe hạng {
   xe SUV hạng sang {
   }
   xe sedan hạng tĩnh {
   }
}

Ở đây, từ khóa “tĩnh” đảm bảo rằng chiếc sedan hạng này sẽ được coi như một lớp bên ngoài.

Các lớp tĩnh này cũng chỉ có thể truy cập các thành viên tĩnh của một lớp bên ngoài, trong khi các lớp lồng nhau không tĩnh lại có thể tương tác với cả các thành viên tĩnh và không tĩnh của một lớp ngoài. Đồng thời chức năng này cho phép các lớp lồng nhau tĩnh tương tác với các phần khác của chương trình và cung cấp khả năng tái sử dụng mã.

Khai báo một đối tượng trong một lớp tĩnh

khai-bao-mot-doi-tuong-trong-mot-lop-tinh.jpg

Khai báo một đối tượng trong một lớp tĩnh

Bạn có thể truy cập một lớp tĩnh bằng cách sử dụng tên của lớp bên ngoài của nó. Ví dụ:

car.sedans

Bạn chỉ có thể tạo một đối tượng cho lớp tĩnh bằng cách truy cập nó thông qua lớp bên ngoài (điều này sẽ đúng với tất cả các lớp lồng nhau). Bạn có thể sử dụng cú pháp:

car.sedans đã lỗi thờisedan = new car.sedans ();

Ở đây, bạn đang tạo một đối tượng mới thông qua việc sử dụng từ khóa “mới”.

Triển khai khái niệm về lớp tĩnh trong Java

Đây là một chương trình đơn giản trong Java để thể hiện một lớp tĩnh. Lưu ý cách lớp tĩnh truy cập vào một thành viên của lớp bên ngoài của nó – điều này chỉ có thể thực hiện được do việc sử dụng từ khóa “Java Static Class”.

xe hạng {
  public static String message = “dành cho giao thông vận tải”;
  xe sedan hạng tĩnh {
     public void printMessage ()
     {
        System.out.println (“Ô tô là” + tin nhắn);
     }
  }
}
Lớp chính
{
   Công khai tĩnh void main (String args []) {
      car.sedans text = new car.sedans ();
      text.printMessage ();
   }
}
Đầu ra: Ô tô được dùng để vận chuyển.

Với ví dụ này, chúng tôi đã khai báo thông báo dưới dạng một biến chuỗi tĩnh. Bởi vì nó là tĩnh, nên lớp tĩnh “sedan” có thể truy cập nó. Khi trình biên dịch gặp dòng System.out.println, nó sẽ in ra dòng văn bản “Xe hơi dành cho giao thông” trên màn hình.

Lợi ích của một Java Static Class

Trên thực tế thì Java Static Class có vai trò nhất định trong việc thực thi chương trình nên nó được sử dụng phổ biến và được nhiều người ưa chuộng sử dụng.

Một lớp tĩnh, cũng giống như các lớp lồng nhau khác, có thể truy cập vào các biến và phương thức riêng của lớp bên ngoài của nó. Các lớp tĩnh có thể được khai báo để loại bỏ các hạn chế đối với các lớp thành viên của một lớp bên ngoài. Nếu các bạn nghĩ rằng lớp bên ngoài quá hạn chế và mong muốn một lớp thành viên thực hiện nhiều chức năng hơn, thì bạn có thể sử dụng từ khóa “static” để cung cấp chức năng bổ sung đó. Một lớp tĩnh không bao giờ có thể được khởi tạo. Các lớp tĩnh này sẽ không thể truy cập trực tiếp các thành viên không phải tĩnh của một lớp. Nó chỉ có thể tương tác với chúng thông qua một tham chiếu đối tượng. Đây vừa là nhược điểm cũng vừa là ưu điểm của lớp tĩnh.

Sự khác biệt giữa các lớp lồng nhau tĩnh và không tĩnh

  • Đầu tiên một lớp lồng nhau tĩnh có thể được khởi tạo mà không cần phải khởi tạo lớp bên ngoài của nó
  • Ngoài ra các lớp bên trong có thể truy cập cả các thành viên tĩnh và không tĩnh của lớp bên ngoài. Hơn nữa một lớp tĩnh chỉ có thể truy cập các thành viên tĩnh của lớp bên ngoài

Tổng kết

Box.edu mong rằng những thông tin được chúng tôi chia sẻ ở trên sẽ giúp các bạn có thể nắm được tất cả những kiến thức quan trọng về ngôn ngữ lập trình Java này. Đặc biệt là khái niệm Java Static Class cũng rất cần thiết đối với việc học lập trình Java này. Chúc các bạn thành công!

3.5/5 - (96 bình chọn)
Xin chào các bạn! Mình là Hà Nguyên Phương Hiện đang là tác giả của Box.edu.vn website nổi tiếng chuyên review, đánh giá, giới thiệu các khóa học hay nhất hiện nay.