Định nghĩa một phương thức trong Java

Trong bài viết này chúng ta sẽ tìm hiểu về phương thức trong Java, làm thế nào để định nghĩa một phương thức trong trường hợp phương thức đó có thể có tham số hoặc không và phương thức đó cũng có thể có kiểu dữ liệu trả về hoặc không. Chúng ta sẽ tìm hiểu đầy đủ về nó các bạn nhé!

Các thành phần của một phương thức bao gồm:

  • Kiểu dữ liệu trả về.
  • Tham số của phương thức.
  • Câu lệnh return.
  • Các access và nonaccess modifiers.

Ví dụ doAdd dưới đây là một phương thức:

Chúng ta đã tìm hiểu về các accessnonaccess modifier trong các bài trước rồi, nên ở bài này mình sẽ không đề cập đến chúng nữa.


Kiểu dữ liệu trả về

Một phương thức có thể có hoặc không có giá trị trả về.

Khi chúng được định nghĩa với không có giá trị trả về thì kiểu giá trị trả về của phương thức là void. 

Ví dụ:

Khi chúng được định nghĩa với một giá trị trả về thì giá trị trả về của phương thức có thể là một giá trị primitive hoặc một đối tượng của bất kỳ lớp nào. Tên của kiểu giá trị trả về có thể là một trong tám kiểu giá trị primitive hoặc tên của một lớp hoặc interface bất kỳ.

Lấy lại ví dụ ở đầu bài viết, chúng ta có phương thức doAdd trả về một giá trị primitive và tên của kiểu giá trị trả về của nó là kiểu int.

Khi một phương thức có định nghĩa kiểu giá trị trả về thì khi gọi phương thức đó chúng ta có thể gán giá trị trả về của nó bằng một biến với kiểu giá trị là kiểu giá trị trả về của phương thức.

Ví dụ:

Với phương thức không có giá trị trả về thì chúng ta không thể gán cho nó một biến được, sẽ bị lỗi compile ngay nếu chúng ta có gắng làm điều đó:

Định nghĩa một phương thức trong Java


Tham số của phương thức

Tham số của phương thức là các biến được khai báo trong định nghĩa của phương thức chỉ rõ kiểu giá trị và giá trị mà phương thức có thể sử dụng. Các tham số này được khai báo ngăn cách bởi dấu phẩy.

Phương thức doAdd trong ví dụ đầu của bài viết có hai tham số a và b được khai báo cùng kiểu giá trị int.

Chúng ta có thể không truyền hoặc truyền nhiều tham số cho một phương thức và chúng ta cũng có thể khai báo như sau:

Phương thức doAdd trong ví dụ trên đã khai báo một tham số với dấu ba chấm sau kiểu giá trị của tham số. Dấu ba chấm sau kiểu giá trị có ý nghĩa biến values là một mảng hoặc là một chuỗi giá trị cách nhau bởi dấu phẩy. Và do đó chúng ta có thể truyền nhiều giá tri cho phương thức với cùng kiểu giá trị mà chúng ta đã khai báo.

Cách định nghĩa với dấu ba chấm trên chỉ đúng khi chúng ta định nghĩa tham số này ở cuối cùng trong danh sách các tham số của phương thức. Nếu chúng ta cố gắng làm khác thì sẽ bị lỗi ngay:

Định nghĩa một phương thức trong Java


Câu lệnh return

Câu lệnh return được sử dụng trong một phương thức, có thể kèm theo một giá trị hoặc không.

Câu lệnh return với một giá trị được sử dụng trong một phương thức có kiểu giá trị trả về và giá trị theo sau câu lệnh return chính là giá trị sẽ trả về của phương thức.

Trong ví dụ đầu của bài viết, mình đã sử dụng câu lệnh return với giá trị theo sau nó là tổng của hai số a và b.

Với câu lệnh return mà không có giá trị theo sau thì nó được sử dụng để thoát khỏi một phương thức.

Ví dụ

Trong ví dụ này, nếu biến name là null thì các dòng code sau nữa sẽ không được xử lý vì câu lệnh return đã thoát khỏi phương thức khi gọi nó rồi.

Chúng ta không thể đặt câu lệnh return ở đầu phương thức khi mà phương thức chưa xử lý bất kỳ câu lệnh nào.

Ví dụ sau các bạn sẽ thấy code sẽ bị lỗi compile nếu chúng ta cố gắng làm điều đó:

Định nghĩa một phương thức trong Java

Add Comment