NỘI DUNG BÀI VIẾT
Java là ngôn ngữ lập trình hướng đối tượng. Phương thức Java là một thuật ngữ được dùng cho hàm số. Các phương thức liên kết với một class và chúng định nghĩa hoạt động của class.
Phương thức Java
Phương thức Java là một tập hợp các câu lệnh để xử lý một số tác vụ cụ thể và trả lại phản hồi cho nơi đã gọi phương thức. Các phương thức cho phép chúng ta viết mã có thể tái sử dụng và chia chương trình của chúng ta thành một số đơn vị công việc nhỏ. Phương thức Java thúc đẩy mã sạch và dễ đọc hơn.
Thành phần của phương thức Java
Hãy xem xét các thành phần khác nhau của phương thức Java.
- Access Modifiers: Access Modifer trong Java xác định phạm vi có thể truy cập của biến, phương thức, constructor hoặc lớp. Có 4 loại Access Modifiers: private, protected, public và default. Ngoài các Access Modifiers, chúng ta cũng có thể chỉ định một phương thức là static, trong trường hợp đó, chúng ta không cần tạo một đối tượng để gọi phương thức. Chúng ta có thể gọi trực tiếp một phương thức static thông qua lớp. Các phương thức static rất hữu ích để tạo các phương thức Utils.
- Return Type: Phương thức Java phải có kiểu trả về. Chúng có thể là bất kỳ kiểu nguyên thủy nào hoặc một đối tượng. Nếu phương thức không trả về bất cứ thứ gì, thì chúng ta phải sử dụng void làm kiểu trả về.
- Method Name: Mọi method trong Java đều phải có một tên. Nó sử dụng để nhận định method. Chúng ta nên cung cấp các tên mô tả cho phương thức của mình để đưa ra một số ý tưởng về tác vụ được thực hiện bởi phương thức. Nếu bạn đã viết bất kỳ chương trình Java nào, tôi chắc chắn rằng bạn sẽ thấy phương thức java main.
- Method Parameters: Chúng ta có thể truyền các tham số cho một phương thức, chúng được định nghĩa trong ngoặc đơn sau tên phương thức. Thông thường, các câu lệnh phương thức hoạt động dựa trên các tham số này để đạt được nhiệm vụ của chúng.
- Exceptions List: Đôi khi thì một phương thức có thể throw exceptions. Chúng ta có thể define nó bằng cách sử dụng keyword throws. Nếu có nhiều ngoại lệ có thể được ném ra, thì chúng ta có thể phân tách chúng bằng dấu phẩy.
- Method Body: Đây là nơi tất cả các hoạt động của phương thức diễn ra. Phần thân phương thức chứa các câu lệnh được thực thi bởi phương thức và chúng nằm bên trong dấu ngoặc nhọn.
Hình ảnh dưới đây cho thấy các thành phần khác nhau của một method Java main.
Signature của phương thức Java
Signature của phương thức Java bao gồm tên và các kiểu tham số trong thứ tự khai báo. Trong class có thể có nhiều phương thức, mỗi phương thức nên có signature khác nhau nếu không nó không biên dịch. Signature của phương thức được JRE sử dụng để xác định chính xác phương thức được gọi khi được gọi trong chương trình.
public void print(String s) {}
private static int print(String s) {}
Code language: PHP (php)
Nếu chúng ta có các phương thức trên trong một lớp, nó sẽ không biên dịch vì cả hai phương thức đều có cùng một signature.
public void print(String s, int i) {}
private static void print(int i, String s) {}
Code language: JavaScript (javascript)
Các phương pháp trên là khác nhau vì thứ tự các tham số không giống nhau.
Gọi phương thức Java
Hãy xem một ví dụ trong đó chúng ta sẽ tạo một phương thức chính và gọi một số phương thức khác.
public class MathUtils {
public int add (int x, int y) {
return x + y;
}
public static void main(String args[]) throws Exception {
MathUtils mu = new MathUtils();
System.out.println(mu.add(5, 2));
MathUtils.print("Static Method");
}
public static void print(String s) {}
}
Code language: PHP (php)
Khi chúng ta chạy chương trình trên, phương thức java main sẽ thực thi và nó sẽ gọi các phương thức MathUtils. Lưu ý rằng nếu phương thức không phải là static, chúng ta cần một đối tượng để gọi nó. Tuy nhiên, nếu phương thức là static thì chúng ta có thể đơn giản gọi nó bằng tên class.
Vì vậy, hãy chú ý rằng phương thức println() được định nghĩa trong đối tượng System.out. Đây là một phương thức thư viện java tiêu chuẩn trong đó các phương thức add() và print() trong lớp MathUtils được gọi là phương thức do người dùng xác định.
Ví dụ về phương thức Java
Hãy xem một số ví dụ về method Java.
Overloaded Methods: Nếu một class có nhiều method có cùng tên, các method này được gọi là phương thức nạp chồng.
public void print(String s) {
System.out.println(s);
}
public void print(String s, int times) {
for (int i=0; i< times; i++) {
System.out.println(s);
}
}
Code language: JavaScript (javascript)
Method Throwing Exception: hãy cùng nhìn một ví dụ nơi chúng ta sẽ throw exception.
public int divide(int x, int y) throws IllegalArgumentException {
if(y==0) throw new IllegalArgumentException("Can't divide by 0");
return x/y;
}
Code language: PHP (php)
Recursive Method: Khi một method gọi chính nó, nó được gọi là phương thức đệ quy. Chúng ta nên rất cẩn trọng trong việc xác định phương thức đệ quy vì nó có thể đi vào dạng vô hạn nếu không có điều kiện đầu cuối. Hãy xem xét phương thức trả về giai thừa của một số bằng cách sử dụng đệ quy.
public static long factorial(long n) {
if (n == 1)
return 1;
else
return (n * factorial(n - 1));
}
Code language: PHP (php)
Method Calling Another Method: chúng ta có thể gọi method khác từ một method, hãy xác định lại các phương thức được nạp chồng ở trên bằng cách sử dụng lại phương thức print(String s).
public void print(String s) {
System.out.println(s);
}
public void print(String s, int times) {
for (int i=0; i< times; i++) {
print(s);
}
}
Code language: PHP (php)
Java Interface Static Method: Java interface có thể có method static từ Java 8 trở đi. Đây là một ví dụ nhỏ về method static interface.
public interface MyData {
static boolean isNull(String str) {
System.out.println("Interface Null Check");
return str == null ? true : "".equals(str) ? true : false;
}
}
Code language: PHP (php)
Java Interface Default Method: từ Java 8 trở đi, interface có thể có thể implement method default/
public interface MyData {
default void print(String str) {
if (!isNull(str))
System.out.println("MyData Print::" + str);
}
}
Code language: PHP (php)
Java Getter Setter Methods: method Getter Setter Java là các phương thức thông thường để truy cập và cập nhật thuộc tính đối tượng. Các phương thức này tạo ra sự trừu tượng và chúng ta có thể hạn chế quyền truy cập vào các thuộc tính khác nhau. Hầu hết các IDE đều hỗ trợ tạo các phương thức getter, setter của một thuộc tính.
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
Code language: JavaScript (javascript)
Java Abstract Methods: Java abstract class và interface có thể khai báo các phương thức mà không cần phần thân của nó. Class extending hoặc implementing có trách nhiệm cung cấp định nghĩa phương thức. Các phương thức này được khai bằng bằng từ khóa abstract. Method Java interface rất trừu tượng.
public abstract class Person {
public abstract void work();
}
public interface Shape {
//interface methods are implicitly abstract and public
void draw();
double getArea();
}
Code language: PHP (php)
Trên đây là tất cả về phương thức trong Java. Happy learning!!!
Tham khảo bài viết khác: