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

Mục lục:

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

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

Video: Sự khác biệt giữa cái này và cái siêu trong Java
Video: 30 ĐIỂM KHÁC BIỆT Giữa Minecraft JAVA và BEDROCK EDITION 2024, Tháng bảy
Anonim

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

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ách sử dụng các đối tượng. Các đối tượng được sử dụng vô độ bằng cách sử dụng các lớp. Một trụ cột của OOP là tính kế thừa. Nó cung cấp khả năng tái sử dụng mã. Các lớp đã tồn tại là lớp cha và các lớp dẫn xuất là lớp con. Từ khóa super có thể được sử dụng để chỉ một đối tượng của lớp cha. 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. Sự khác biệt chính giữa this và super là "this" là một biến tham chiếu được sử dụng để tham chiếu đối tượng hiện tại trong khi "super" 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.

Đây là gì trong Java?

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.

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

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à biến cá thể, biến cục bộ và biến lớp. Theo chương trình trên, class Employee có hai biến instance. Chúng là id và tên. 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 cho hàm tạo Employee. Nếu người lập trình viết id=id; nó sẽ không khởi tạo các biến cá thể vì Constructor đã có id và tên. Không có giá trị nào cho các biến cá thể. Vì vậy, in chúng sẽ hiển thị null. Khi sử dụng điều này, 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 cá thể.

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.

public class ThisDemo {

public static void main (String args) {

Myclass myClass=new Myclass ();

myClass. B ();

}

}

lớp Myclass {

public void A () {

System.out.println (“A”);

}

public void B () {

System.out.prinltn (“B”);

này. A ();

}

}

Lớp Myclass 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 Myclass và gọi phương thức B sẽ in ra B, A làm đầu ra. Trong phương thức B, sau khi in B có một câu lệnh như sau. A (). Bằng cách sử dụng 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 lớp hiện tại. Tham khảo chương trình đã cho.

public class ThisDemo {

public static void main (String args) {

A obj=new A (5);

}

}

hạng A {

public A () {

System.out.println (“Khối mã lệnh A”);

}

public A (int x) {

này ();

System.out.println (“Hàm tạo tham số A”);

}

}

Theo chương trình trên, lớp A có một hàm tạo mặc định và một hàm tạo tham số hóa. 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 tham số hóa, có một câu lệnh như sau (); Nó sẽ gọi hàm tạo lớp hiện tại là A ().

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

Từ khóa ‘super’ 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ó cho một lớp mới. Lớp đã tồn tại đượ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 để tham chiếu đến đối tượng lớp cha ngay lập tức. Từ khóa super có thể tham chiếu đến biến cá thể lớp cha ngay lập tức hoặc gọi phương thức lớp cha ngay lập tức. Siêu () được sử dụng để gọi phương thức khởi tạo lớp cha ngay lập tức.

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

công hạng A {

public void display () {

System.out.println (“A”);

}

}

công khai hạng B mở rộng A {

public void display () {

System.out.println (“B”);

}

}

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

Sự khác biệt giữa cái này và cái siêu trong Java_ Hình 02
Sự khác biệt giữa cái này và cái siêu trong Java_ Hình 02

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

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 kiểu B và gọi phương thức hiển thị nên cung cấp số trong lớp con vì giá trị của lớp cha bị ghi đè bởi lớp mới. Bằng cách sử dụng super.num, giá trị số lớp cha được in.

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

lớp công Chính {

public static void main (String args) {

B obj=new B ();

}

}

hạng A {

A () {

System.out.println (“A”);

}

}

hạng B mở rộng A {

B () {

siêu ();

System.out.println (“B”);

}

}

Theo chương trình trên, lớp A có một 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 kiểu B, nó sẽ in A, B làm đầu ra. Hàm tạo B () có super (). Do đó, đầu tiên phương thức khởi 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 được gọi.

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

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

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 kiểu B và gọi phương thức hiển thị sẽ cho kết quả 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 cách sử dụng super.display (). Phương thức đó in “A” trước. Sau đó in “B”.

Sự giống nhau giữa điều này và siêu phẩm là gì?

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

Sự khác biệt giữa sản phẩm này và siêu phẩm là gì?

Này so với Siêu

‘this’ là một biến tham chiếu được sử dụng để tham chiếu đối tượng hiện tại. ‘super’ là một biến tham chiếu được sử dụng để tham chiếu một đối tượng siêu lớp ngay lập tức.
Biến phiên bản
Một biến thể hiện của lớp hiện tại có thể được tham chiếu bằng cách sử dụng này. Biến cá thể siêu lớp có thể được tham chiếu bằng cách sử dụng siêu.
Phương pháp Lớp
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.
Khối mã lệnh
Phương thức khởi tạo lớp hiện tại có thể được gọi bằng cách sử dụng this (). Hàm tạo siêu lớp có thể được gọi bằng cách sử dụng super ().

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

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

Tải xuống bản PDF của cái này so với siêu bằng 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à cái siêu trong Java

Đề xuất: