FaCode Ngôn ngữ Java từ khóa super trong java
Từ khóa super trong java là một biến tham chiếu được sử dụng để tham chiếu trực tiếp đến đối tượng của lớp cha gần nhất.
Bất cứ khi nào bạn tạo ra instance(thể hiển) của lớp con, một instance của lớp cha được tạo ra ngầm định, nghĩa là được tham chiếu bởi biến super.
Trong java, từ khóa super có 3 cách sử dụng như sau:
- Từ khóa super được sử dụng để tham chiếu trực tiếp đến biến instance của lớp cha gần nhất.
- super() được sử dụng để gọi trực tiếp Constructor của lớp cha.
- Từ khóa super được sử dụng để gọi trực tiếp phương thức của lớp cha.
1. Tham chiếu trực tiếp đến biến instance của lớp cha.
Từ khóa super được sử dụng để tham chiếu trực tiếp đến biến instance của lớp cha.
Ví dụ: khi không sử dụng từ khóa super
Kết quả:
Ví dụ: khi sử dụng từ khóa super
Kết quả:
2. Sử dụng super()
Trong java, super() được sử dụng để gọi trực tiếp Constructor của lớp cha.
Kết quả:
Note: super() được tự động thêm vào mỗi Constructor của class bởi trình biên dịch.
Như chúng ta đã biết Constructor được tạo ra tự động bởi trình biên dịch nhưng nó cũng thêm super() vào câu lệnh đầu tiên. Nếu bạn tạo Constructor và bạn không có this() hoặc super() ở dòng lệnh đầu tiên, trình biên dịch sẽ cung cấp super() của Constructor.
Một ví dụ khác của từ khóa super nơi super() được cung cấp ngầm định bởi trình biên dịch.
Kết quả:
3. super được sử dụng để gọi trực tiếp phương thức của lớp cha.
Từ khóa super cũng có thể được sử dụng để gọi phương thức của lớp cha. Nó nên được sử dụng trong trường hợp lớp chứa các phương thức tương tự như lớp cha như trong ví dụ dưới đây:
Kết quả:
Trong ví dụ trên cả hai lớp Student và Person đều có phương thức message(). Nếu bạn gọi phương thức message() từ lớp Student thì phương thức message của Student sẽ đươc thực thi vì phương thức ở local sẽ được ưu tiên.
Trong TH không có phương thức ở class con giống class cha thì không cần phải sử dụng super. Ví dụ:
Kết quả:
7 Java frameworks phổ biến nhất hiện nay
__________
FaCode là một seri học tập lập trình, lần này là FaCode ngôn ngữ Java, bằng mọi nỗ lực FaCode sẽ hoàn thành các mục tiêu đề ra trong FaCode Ngôn ngữ Java. Hãy đồng hành cùng FaCode Ngôn ngữ Java và theo dõi chúng tôi nhé. FaCode Ngôn ngữ Java rất mong nhận được lời góp ý từ phía cộng đồng. Share4Happy với phương châm chia sẻ để hạnh phúc.