Header Ads Widget

Responsive Advertisement

Nổi bật

6/recent/ticker-posts

Java Methods - Các phương thức trong Java với ví dụ

Tôi tin rằng nếu bạn hiểu đúng về Java Core, bạn có thể học bất kỳ framework nào một cách dễ dàng. Rốt cuộc, mọi framework đều được xây dựng trên nền tảng của các tính năng Java Core. Dưới đây là bài viết về Java Methods - Các phương thức trong Java

        Java là một ngôn ngữ lập trình hướng đối tượng. Các phương thức Java được định nghĩa trong lớp và chúng là xương sống trong lập trình của nó.

I)  Java Methods
        Java Methods 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 người gọi. Các phương thức cho phép chúng ta viết mã có thể sử dụng lại và chia chương trình của chúng ta thành một số đơn vị công việc nhỏ. Các phương thức trong java thúc đẩy mã sạch và dễ đọc hơn.

II) Các thành phần của Java method

Hãy xem xét các thành phần khác nhau của một phương thức java.

👉  Access Modifiers: Java method access modifiers xác định ai có thể gọi phương thức. Nó được sử dụng để hạn chế phạm vi của phương thức. Có bốn loại Access Modifiers trong Java - private, protected, publicdefault. 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 tiện ích.

👉   Return type (Kiểu trả về) : Các phương thức Java phải chỉ định kiểu trả về. Chúng có thể là bất kỳ kiểu nguyên thủy hoặc một đối tượng nào. 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ề.

👉   Tên phương thức : Mọi phương thức trong Java phải có một tên. Nó được sử dụng để xác định phương thức. 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 (Tham số phương thức) : 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.

👉  Danh sách ngoại lệ : Đôi khi một phương thức java có thể ném ra các ngoại lệ. Chúng tôi có thể xác định chúng bằng cách sử dụng từ khóa 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 diễn ra tất cả các hoạt động của method. 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 phương thức java main.



III) Java method Signature (Chữ ký phương pháp Java)

Java Method Signature bao gồm tên và các kiểu tham số của nó theo thứ tự đã khai báo. Trong một lớp, có thể có nhiều phương thức nhưng mỗi phương thức phải có một chữ ký khác nhau, nếu không nó sẽ không biên dịch được. Java Method Signature được JRE sử dụng để xác định phương thức chính xác sẽ được gọi khi được gọi trong chương trình của chúng tôi.

public void print(String s) {}
private static int print(String s) {}


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 chữ ký.

public void print(String s, int i) {}
private static int print(int i,String s) {}


Các phương pháp trên là khác nhau vì thứ tự các tham số không giống nhau.

IV) Gọi một Java Method

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) {}
}



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ể gọi nó đơn giản bằng cách sử dụng tên lớp.

Ngoài ra, hãy lưu ý rằng phương thức println() được định nghĩa trong đối tượng System.out. Đó là một phương thức thư viện java tiêu chuẩn trong đó các phương thức add()print() trong lớp MathUtils được gọi là phương thức do người dùng định nghĩa.


V) Ví dụ về Java Method

Hãy xem xét một số ví dụ về phương thức java.

👉  Overloaded Method: Nếu một lớp có nhiều phương thức trùng tên, chúng được gọi là overloaded method (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);
    }
}


👉  Method Throwing Exception: Hãy xem một ví dụ mà chúng ta sẽ ném ngoại lệ. 

public int divide(int x, int y) throws IllegalArgumentException {
   
if(y==0) throw new IllegalArgumentException("Can't divide by 0");
   
return x/y;
}


👉  Phương thức đệ quy: Khi một phương thức gọi chính nó, nó được gọi là một phương thức đệ quy. Chúng ta nên rất cẩn thận trong việc xác định phương thức đệ quy vì nó có thể đi vào giao diện vô hạn nếu không có điều kiện đầu cuối. Hãy xem xét mộ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));
}


👉  Phương thức gọi phương thức khác: Chúng ta có thể gọi phương thức khác từ một phương thức, 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);
    }
}


👉  Java Interface Static Method: Các Java Interface có thể có phương thức Static từ Java 8 trở đi. Đây là một ví dụ nhỏ về interface static method. 

public interface MyData {
   
static boolean isNull(String str) {
       
System.out.println("Interface Null Check");
       
return str == null ? true : "".equals(str) ? true : false;
   
}
}


👉  Java interface default method: Từ Java 8 trở đi, các interface có thể có các triển khai phương thức default

public interface MyData {
   
default void print(String str) {
       
if (!isNull(str))
           
System.out.println("MyData Print::" + str);
       
}
}



Đọc thêm tại Thay đổi giao diện Java 8 .

👉  Java Getter Setter Method
Java Getter Setter Method là các phương thức thông thường để truy cập và cập nhật các 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ợ dễ dàng 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;
}


👉  Các phương thức trừu tượng của Java : Java abstract classinterface có thể khai báo các phương thức mà không cần phần thân của nó. Lớp extend hoặc implement chúng 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áo bằng từ khóa abstract trong lớp trừu tượng. Java interface method 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();
}



Đó là tất cả đối với các phương thức trong java.


Bài viết được dịch lại từ journaldev.com. Cảm ơn bạn đã xem bài viết! Nếu có bất cứ lỗi sai nào trong bài bạn có thể góp ý cho chúng tôi bằng cách bình luận bên dưới.

Đăng nhận xét

0 Nhận xét