Computer >> Máy Tính >  >> Lập trình >> Java

Java Cái này

Cách sử dụng Java Từ khóa này

Khi bắt đầu viết mã bằng Java, bạn có thể sẽ nhận thấy từ khóa this được sử dụng trong các phương thức hoặc hàm tạo. this từ khóa đề cập đến đối tượng hiện tại bên trong các phương thức hoặc hàm tạo và có nhiều cách sử dụng trong Java.

Trong hướng dẫn này, bạn sẽ tìm hiểu về từ khóa này trong Java và về cách và lý do nó được sử dụng. Chúng tôi cũng sẽ tham khảo một vài ví dụ trong suốt bài viết để chứng minh từ khóa này hoạt động.

Phương thức và trình xây dựng Java

Phương thức và hàm tạo là hai phần quan trọng của lập trình trong Java.

Hàm hoặc methods như chúng được gọi trong lập trình hướng đối tượng, là các khối mã thực hiện một nhiệm vụ cụ thể. Ví dụ:một phương thức, khi được thực thi, có thể in ra nội dung của một mảng ra bảng điều khiển hoặc hỗ trợ người dùng nhập vào một chương trình.

Đây là một ví dụ về một phương pháp trong Java in It’s Monday! vào bảng điều khiển:

public class PrintMessage {
	public static void main(String[] args) {
		System.out.println("It's Monday!");
	}
}

Khi chúng tôi thực thi mã của mình, kết quả sau được trả về bảng điều khiển:It’s Monday!

Các hàm tạo tương tự như các phương thức và được gọi khi một đối tượng được khởi tạo hoặc được tạo trong một chương trình. Dưới đây là ví dụ về một hàm tạo đặt giá trị của một biến phiên bản có tên là day đến Monday khi một phiên bản của Thứ Hai được khởi tạo và in ra It’s , tiếp theo là ngày trong tuần, vào bảng điều khiển:

class Monday {
	private Monday() {
		day = "Monday";
	}

	public static void main(String[] args) {
		Monday day_of_the_week = new Monday();
		System.out.println("It's " + day_of_the_week.day);
	}
}

Mã của chúng tôi trả về:It’s Monday!

81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia một cuộc thi đào tạo. Kết hợp với bootcamp ngay hôm nay.

Sinh viên tốt nghiệp bootcamp trung bình đã dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.

Nếu bạn muốn tìm hiểu thêm về các hàm tạo, bạn có thể đọc hướng dẫn đầy đủ của chúng tôi về các hàm tạo Java. Bây giờ chúng ta đã khám phá những kiến ​​thức cơ bản về các phương thức và hàm tạo của Java, chúng ta có thể bắt đầu thảo luận về this từ khóa và cách bạn có thể sử dụng nó trong mã của mình.

Java Từ khóa này

Trong Java, this từ khóa đề cập đến đối tượng hiện tại bên trong một phương thức hoặc một phương thức khởi tạo.

Để minh họa điều này, hãy sử dụng hàm tạo mẫu của chúng tôi từ phía trên để in ngày trong tuần ra bảng điều khiển. Trong ví dụ dưới đây, chúng tôi đã in ra giá trị của this và giá trị của Monday() đối tượng mà chúng tôi đã khởi tạo:

class Monday {
	private String day; 
	private Monday() {
		day = "Monday";
		System.out.println(this);
	}

	public static void main(String[] args) {
		Monday day_of_the_week = new Monday();
		System.out.println("It's " + day_of_the_week.day);
		System.out.println(day_of_the_week);
	}
}

Mã của chúng tôi trả về như sau:

Main@d716361
It's Monday
Main@d716361

Dòng đầu tiên trong đầu ra của chúng tôi là giá trị của this , được in ra bảng điều khiển khi Monday() đối tượng được khởi tạo. Dòng thứ hai trong đầu ra của chúng tôi là kết quả của việc in ra It’s , theo sau là giá trị của day trong day_of_the_week đối tượng mà chúng tôi đã khai báo. Cuối cùng, chúng tôi in ra giá trị của day_of_the_week đối tượng.

Như bạn có thể thấy, giá trị của thisday_of_the_week đối tượng giống nhau. Điều này có nghĩa là this từ khóa đề cập đến đối tượng hiện tại bên trong một phương thức hoặc một phương thức khởi tạo.

Java Trường hợp sử dụng này

Có hai tình huống chính mà việc sử dụng từ khóa này có giá trị. Đây là:

  • Sử dụng điều này để phân biệt các tên biến
  • Chuyển điều này làm đối số

Một biến thể của từ khóa this, this() , cũng được sử dụng khi nạp chồng các hàm tạo. Tuy nhiên, đây là cách sử dụng nâng cao hơn của điều này và vì vậy chúng tôi sẽ không thảo luận về nó trong bài viết này.

Sử dụng điều này để phân biệt tên biến

Hai hoặc nhiều biến không thể có cùng tên trong một phạm vi trong Java. Điều này có nghĩa là nếu bạn cố gắng khai báo hai biến và sử dụng cùng một tên, thì logic chương trình của bạn sẽ bị ảnh hưởng.

Tuy nhiên, chúng tôi có thể vượt qua giới hạn này bằng cách sử dụng this phương pháp. this cho phép chúng tôi gán một biến cụ thể cho một đối tượng, điều này cho phép chúng tôi lưu trữ cả giá trị của biến trong đối tượng và giá trị của biến ban đầu.

Hãy xem qua một ví dụ để minh họa cách hoạt động của điều này. Giả sử chúng ta đang xây dựng một chương trình theo dõi tên của một học sinh được thêm vào danh sách danh dự trong một lớp năm. Ứng dụng này sẽ in tên học sinh lên bảng điều khiển.

Đây là mã chúng tôi sẽ sử dụng để tạo ứng dụng này:

class HonorRoll {
	String studentName;

	HonorRoll(String studentName) {
		this.studentName = studentName;
	}

	public static void main(String[] args) {
		HonorRoll alex = new HonorRoll("Alex");
		System.out.println("New honor roll inductee: " + alex.studentName);
	}
}

Khi chúng tôi chạy chương trình của mình, thông tin sau được trả về:

New honor roll inductee: Alex

Trong ví dụ này, chúng tôi sử dụng this để theo dõi tên của học sinh trong HonorRoll phương pháp. Chúng tôi sử dụng dòng mã sau để gán giá trị của studentName tham số phương thức khởi tạo (là Alex trong ví dụ trên) thành biến this.studentName . Nếu chúng tôi không làm điều này, những thứ sau sẽ được trả lại:

New honor roll inductee: null

Điều này là do, để cho HonorRoll của chúng tôi để lưu tên học sinh, chúng ta cần sử dụng this để loại bỏ bất kỳ sự mơ hồ nào khỏi trình biên dịch Java. Vì vậy, nếu chúng ta loại bỏ từ this từ mã của chúng tôi, chúng tôi nhận được giá trị null.

Chuyển điều này làm đối số

this từ khóa thường được sử dụng để chuyển đối tượng hiện tại trong một phương thức hoặc hàm tạo sang một phương thức khác.

Giả sử chúng ta đang xây dựng một ứng dụng theo dõi có bao nhiêu túi hạt cà phê mà một cửa hàng cà phê địa phương có trong kho. Ứng dụng này sẽ cho phép chủ cửa hàng cà phê thêm vào tổng số túi còn lại trong kho, sẽ được sử dụng khi có thêm hàng. Đây là mã chúng tôi có thể sử dụng để tạo ứng dụng này:

class AddStock {
	int stockToAdd;
	int stockTotal;

	AddStock(int stockToAdd, int stockTotal) {
		this.stockToAdd = stockToAdd;
		this.stockTotal = stockTotal;
		System.out.println("Current stock: " + this.stockTotal);
		calculateNewStock(this);
		System.out.println("New stock: " + this.stockTotal);
	}

	void calculateNewStock(AddStock s) {
		s.stockTotal += s.stockToAdd;
	}
}

class Main {
	public static void main(String[] args) {
		AddStock newStockValue = new AddStock(10, 9);
	}
}

Mã của chúng tôi trả về:

Current stock: 9
New stock: 19

Hãy phân tích mã. Trong mã của chúng tôi, chúng tôi đã xác định một lớp có tên là AddStock . Lớp này chứa một phương thức nhận hai giá trị— stockToAddstockTotal —Và gọi calculateNewStock() phương pháp tính toán xem cửa hàng cà phê có bao nhiêu bao cà phê.

Sau đó, chúng tôi sử dụng Main() lớp để khởi tạo một phiên bản của lớp AddStock và thêm hai giá trị lại với nhau:10 và 9. Sau khi chương trình của chúng tôi thực thi, mã của chúng tôi sẽ thêm hai giá trị mà chúng tôi đã chỉ định — số hàng cần thêm và tổng số hàng hiện tại tương ứng — và in ra cả hai lượng hàng hiện tại và lượng hàng đã sửa đổi đối với bảng điều khiển.

Trong ví dụ này, this từ khóa được sử dụng làm đối số khi chúng ta gọi calculateNewStock() phương pháp. Điều này cho phép chúng tôi chuyển các biến mà chúng tôi đang làm việc với lớp AddStock vào calculateNewStock() phương pháp này cần các biến số đó để tính toán mức tồn kho đã sửa đổi.

Kết luận

Trong Java, từ khóa this đề cập đến đối tượng hiện tại bên trong một phương thức hoặc hàm tạo. Trong Java, từ khóa this có hai cách sử dụng chính:để phân biệt tên biến và chuyển nó làm đối số

Hướng dẫn này đã thảo luận, có tham chiếu đến các ví dụ, cách sử dụng từ khóa this trong Java trong ba ngữ cảnh đó. Giờ đây, bạn đã được trang bị kiến ​​thức cần thiết để bắt đầu sử dụng Java từ khóa này như một chuyên gia.