Sự khác biệt giữa cái này và siêu trong Java

Sự khác biệt chính - điều này so với siêu trong Java
 

Các từ khóa 'this' và 'super' được sử dụng trong lập trình Java. Những từ khóa này không thể được sử dụng làm biến hoặc bất kỳ tên định danh nào khác. Java hỗ trợ lập trình hướng đối tượng (OOP). Chương trình hoặc phần mềm có thể được mô hình hóa bằng các đối tượng. Các đối tượng được sử dụng các lớp. Một trụ cột của OOP là sự kế thừa. Nó cung cấp khả năng sử dụng lại mã. Các lớp đã tồn tại là siêu lớp và các lớp dẫn xuất là các lớp con. Từ khóa siêu có thể được sử dụng để chỉ một đối tượng của siêu lớp. Có nhiều đối tượng trong hệ thống. Từ khóa 'this' được sử dụng để chỉ một đối tượng hiện tại. Các sự khác biệt chính giữa cái này và cái siêu là 'đây 'là một biến tham chiếu được sử dụng để chỉ đối tượng hiện tại trong khi 'super' là một biến tham chiếu được sử dụng để chỉ đối tượng siêu lớp ngay lập tức. 

NỘI DUNG

1. Tổng quan và sự khác biệt chính
2. Cái này trong Java là gì
3. Siêu phẩm trong Java là gì
4. Điểm tương đồng giữa cái này và siêu trong Java
5. So sánh cạnh nhau - điều này so với siêu trong Java ở dạng bảng
6. Tóm tắt

Cái này trong Java là gì?

Từ khóa 'this' được sử dụng để chỉ một đối tượng hiện tại. Tham khảo chương trình Java đã cho.

Hình 01: Chương trình Java sử dụng từ khóa này

Trong Java, có ba loại biến. Chúng là các biến thể hiện, biến cục bộ và biến lớp. Theo chương trình trên, lớp Nhân viên có hai biến đối tượng. Họ là id và tên. Các biến cục bộ là các biến thuộc về các phương thức. Các biến lớp được chia sẻ bởi tất cả các đối tượng. Id và tên được chuyển đến hàm tạo của nhân viên. Nếu lập trình viên viết id = id; nó sẽ không khởi tạo các biến đối tượng vì Trình xây dựng đã có id và tên. Không có giá trị cho các biến ví dụ. Vì vậy, in chúng sẽ hiển thị null. Khi sử dụng, nó đề cập đến đối tượng hiện tại. Do đó, việc cung cấp id và tên cho hàm tạo có thể đặt các biến thể hiện.

Từ khóa 'this' có thể được sử dụng để gọi phương thức lớp hiện tại. Tham khảo chương trình java đã cho.

lớp công khai ThisDemo

public static void main (String [] args)

Mygroup myClass = new Mygroup ();

myClass.B ();

lớp Mygroup

công khai A ()

System.out.println (Nhật Bản A);

công khai B ()

System.out.prinltn (Bên Bặt);

này.A ();

Lớp Mygroup chứa hai phương thức. Chúng là phương thức A và B. Khi tạo một đối tượng của Mygroup và gọi phương thức B sẽ in B, A làm đầu ra. Trong phương thức B, sau khi in B có một câu lệnh như thế này.A (). Sử dụng phương thức này, phương thức lớp hiện tại đã được gọi.

Cũng có thể sử dụng từ khóa này để gọi hàm tạo của lớp hiện tại. Tham khảo chương trình đã cho.

lớp công khai ThisDemo

public static void main (String [] args)

A obj = mới A (5);

lớp A

công A ()

System.out.println (Người xây dựng nhà cung cấp A);

công A (int x)

điều này();

System.out.println (Trình xây dựng tham số tham số của A A);

Theo chương trình trên, lớp A có hàm tạo mặc định và hàm tạo tham số. Khi tạo một đối tượng của A, hàm tạo tham số được gọi. Trong hàm tạo được tham số hóa, có một câu lệnh như thế này (); Nó sẽ gọi hàm tạo của lớp hiện tại là A ().

Siêu phẩm trong Java là gì?

Từ khóa 'siêu' có liên quan đến thừa kế. Kế thừa là một khái niệm chính của lập trình hướng đối tượng. Nó cho phép sử dụng các thuộc tính và phương thức của lớp đã có sẵn cho một lớp mới. Lớp đã có sẵn được gọi là lớp cha hoặc lớp cha. Lớp mới được gọi là lớp con hoặc lớp con.

'Super' là một biến tham chiếu được sử dụng để chỉ đối tượng lớp cha ngay lập tức. Từ khóa siêu có thể tham chiếu biến đối tượng lớp cha ngay lập tức hoặc gọi phương thức lớp cha ngay lập tức. Super () được sử dụng để gọi hàm tạo của lớp cha ngay lập tức.

Giả sử rằng có hai lớp là A và B. Lớp A là siêu lớp và lớp B là lớp con. Cả lớp A, B đều có phương thức hiển thị.

lớp A

hiển thị khoảng trống công khai ()

System.out.println (Nhật Bản A);

lớp B mở rộng A

hiển thị khoảng trống công khai ()

System.out.println (Nhật Bản B));

Khi tạo một đối tượng loại B và gọi hiển thị phương thức, nó sẽ cho đầu ra B. lớp A có phương thức hiển thị, nhưng nó bị ghi đè bởi phương thức hiển thị của lớp con B. Nếu lập trình viên muốn gọi phương thức hiển thị trong lớp A, thì anh ta có thể sử dụng siêu từ khóa. Tham khảo chương trình Java đã cho.

Hình 02: Chương trình Java sử dụng siêu từ khóa

Theo chương trình trên, lớp A có một biến có tên là số có giá trị 10. Lớp B mở rộng A và có một biến có tên là số có giá trị 20. Nói chung, khi tạo một đối tượng loại B và gọi phương thức hiển thị sẽ cho số đó vào lớp con vì giá trị siêu lớp bị ghi đè bởi lớp mới. Bằng cách sử dụng super.num, giá trị số siêu lớp được in.

Super () có thể được sử dụng để gọi hàm tạo của lớp bậc trên. Tham khảo chương trình dưới đây.

lớp học chính

public static void main (String [] args)

B obj = B mới ();

lớp A

Một ()

System.out.println (Nhật Bản A);

lớp B mở rộng A

B ()

siêu();

System.out.println (Nhật Bản B));

Theo chương trình trên, lớp A có hàm tạo A (). Lớp B có hàm tạo B (). Lớp B mở rộng lớp A. Khi tạo một đối tượng loại B, nó sẽ in A, B làm đầu ra. Hàm tạo B () có super (). Do đó, đầu tiên hàm tạo A được gọi và sau đó chuyển đến B. Mặc dù super () không được viết, theo mặc định, hàm tạo cha mẹ được gọi.

Siêu sử dụng phương pháp như sau.

Hình 03: Chương trình Java gọi phương thức siêu lớp

Theo chương trình trên, lớp A có phương thức hiển thị. Lớp B cũng có phương thức hiển thị. Lớp B mở rộng A. Khi tạo một đối tượng loại B và gọi phương thức hiển thị sẽ cho đầu ra là A và B. Trong phương thức hiển thị lớp B, phương thức hiển thị lớp A được gọi bằng super.display (). Phương pháp đó in ra bản A A trước. Sau đó in.

Điểm giống nhau giữa cái này và cái gì?

  • Cả hai đều là từ khóa trong lập trình Java.

Sự khác biệt giữa cái này và cái gì?

Cái này so với siêu

'This' là một biến tham chiếu được sử dụng để chỉ đối tượng hiện tại. 'Super' là một biến tham chiếu được sử dụng để chỉ một đối tượng siêu lớp ngay lập tức.
 Biến sơ thẩm
Một biến thể hiện của lớp hiện tại có thể được gọi bằng cách sử dụng này. Biến đối tượng siêu lớp có thể được gọi bằng siêu.
Phương pháp lớp học
Phương thức lớp hiện tại có thể được gọi bằng cách sử dụng này. Phương thức siêu lớp có thể được gọi bằng siêu.
 Constructor
Trình xây dựng lớp hiện tại có thể được gọi bằng cách sử dụng (). Hàm tạo của siêu lớp có thể được gọi bằng super ().

Tóm tắt - cái này so với siêu trong Java

Các từ khóa 'this' và 'super' được sử dụng trong Java. Các từ khóa không thể được sử dụng như các biến hoặc bất kỳ tên định danh nào khác. Họ có vẻ giống nhau, nhưng họ có một sự khác biệt. Sự khác biệt giữa siêu này và siêu là siêu là một biến tham chiếu được sử dụng để tham chiếu đối tượng siêu lớp ngay lập tức trong khi đây là biến tham chiếu tham chiếu đến đối tượng hiện tại.

Tải xuống bản PDF này so với siêu trong Java

Bạn có thể tải xuống phiên bản PDF của bài viết này và sử dụng nó cho mục đích ngoại tuyến theo ghi chú trích dẫn. Vui lòng tải xuống phiên bản PDF tại đây: Sự khác biệt giữa cái này và siêu trong Java

Tài liệu tham khảo:

1. This () và siêu từ khóa trong java và mục đích của nó với một ví dụ ngắn, kiến ​​thức Atoz, ngày 31 tháng 1 năm 2015. Có sẵn tại đây 
2. Từ khóa này trong java - java point. Có sẵn ở đây  
3.tutorialspoint.com. Kế thừa Java Java. Điểm, có sẵn ở đây