Hướng dẫn cách xác định, tạo và thực thi các phương thức Java

Trong khi viết một chương trình, đôi khi chúng ta cần thực hiện một tập lệnh nhất định hoặc thực thi một số chức năng nhất định lặp đi lặp lại.

Thay vì viết tập hợp các câu lệnh thường xuyên, chúng ta tổng quát hóa câu lệnh này bằng cách đặt chúng trong một hàm hoặc phương thức. Mọi ngôn ngữ lập trình đều sử dụng phương pháp luận của các phương pháp để làm cho mã trở nên đơn giản, dễ dàng và mạnh mẽ hơn. 

Vậy trong ngôn ngữ lập trình Java, phương thức Java được thực hiện như thế nào. Mời bạn đọc tham khảo các nội dung chi tiết thông qua bài viết. 

Mục lục bài viết

Tạo phương thức Java

Cú pháp chung thực hiện như sau:

modifier returnType nameOfMethod(Parameter List)
{

// method body

}

Trong đó:

  • Modifier định nghĩa kiểu truy cập của phương thức trong một lớp. Có ba loại bổ ngữ và chúng là các bổ ngữ công khai, riêng tư và được bảo vệ.
  • Return Type – Kiểu trả về: Giá trị này chỉ định giá trị mà hàm sẽ trả về. Nó có thể là một số nguyên, float, double hoặc ký tự. Nếu giá trị là void, có nghĩa là hàm không trả về bất kỳ giá trị nào. Các hàm như vậy được gọi là các thủ tục.
  • nameofMethod là tên hàm tương tự như các biến. Nói chung theo quy ước mã hóa, tên hàm được đưa ra để nó xác định chức năng của chúng nhưng nó không bắt buộc.
  •  Parameter List – Danh sách tham số: Đây là danh sách các đối số mà hàm nhận hoặc yêu cầu để xử lý chức năng. Tuy nhiên, nó là tùy chọn và có thể bằng không.
  • Method Body ở giữa các dấu ngoặc nhọn là nơi chúng ta xác định chức năng hoặc một tập hợp các câu lệnh sẽ thực thi mọi lúc trên một lệnh gọi hàm.

Cú pháp riêng:

public static intfuncName((argument 1, argument 2)
{
//body
}

Ví dụ:

class Demo
{
public static in myFirst(int n, int m)
{
System.out.println(“I am inside the Function”);
int max;
if(n>m)
{
max=n;
}
else
{
max=m;
}
return max;
}}

Lưu ý rằng từ khóa “tĩnh” được sử dụng, nhưng nó là tùy chọn. Khai báo một hàm static có nghĩa là nó có thể được gọi trực tiếp bên trong lớp mà không cần tạo các đối tượng của lớp.

Một số lưu ý khi sử dụng phương thức Java

  • Biến được khai báo bên trong hàm không thể được sử dụng bên ngoài phạm vi hàm.
  • Câu lệnh trả về trong hàm là bắt buộc nếu hàm không phải là kiểu void.
  • Hàm chỉ có thể trả về một giá trị duy nhất và giá trị trả về phải khớp với kiểu dữ liệu của hàm được xác định.
  • Đối số được truyền phải khớp, tức là nó phải theo thứ tự giống như được khai báo trong các hàm.

Gọi tên phương thức Java

import java.util.*;
import java.lang.*;
import java.io.*;
class Demo
{
// Main method
public static void main(String[] args) {
int a = 4;
int b = 6;
//Function calls
int c = sumFunction(a, b);
display(c);
}
//  Returns the sum of the Two numbers
public static intsumFunction(int n, int m)
{
int sum=0;
sum= n+m;
return sum;
}
public static void Display(int sum)
{
System.out(“This function prints the variable”);
System.out.println("The Sum is = " + sum);
}
}

Đầu ra

Tổng là = 10

Có hai chức năng hiện diện trong ví dụ này. Một hàm tính tổng của hai đối số được truyền cho nó và trả về kết quả. Hàm hiển thị chỉ in kết quả trên bảng điều khiển và không trả về bất kỳ giá trị nào.

Phương thức “Chính” có trong mọi chương trình. Đây là một hàm bắt buộc và luôn được khai báo tĩnh. Phương thức chính là điểm bắt đầu thực hiện của chương trình. Tất cả các lệnh gọi hàm đều được thực hiện từ phương thức “main”.

Có hai cách để truyền giá trị cho hàm:

  • Truyền giá trị: Các thay đổi được thực hiện trong hàm không ảnh hưởng đến giá trị trong hàm chính.
  • Truyền tham chiếu của giá trị: Đối tượng của lớp được truyền và giá trị của biến được truy cập bằng cách sử dụng tên biến chấm tên đối tượng. Sự thay đổi được thực hiện trong điều này được phản ánh trực tiếp trong biến của đối tượng đó.

Qúa tải phương thức Java là gì?

Khi một lớp có hai hoặc nhiều phương thức có cùng tên nhưng khác số đối số, nó được gọi là quá tải phương thức. Trong những trường hợp như vậy, trình biên dịch quyết định hàm nào phải được gọi trên cơ sở các đối số được truyền vào.

Ví dụ:

class DemoOverloading{
public static void main(String[] args) {
int a = 10;
int b = 5;
double c = 7.5;
double d = 3.4;
int result1 = maxFunction(a, b);
// Same functions but different parameter types
double result2 = maxFunction(c, d);
System.out.println("Maximum Value = " + result1);
System.out.println("Maximum Value = " + result2);
}
// function with integer parameters
public static intsumFunction(int n1, int n2) {
int max;
if (n1 > n2)
max = n1;
else
max = n2;
return max;
}
// function with double parameters
public static double sumFunction(double n1, double n2) {
double max;
if (n1 > n2)
max = n1;
else
max = n3;
return max;
}
}

Đầu ra

Giá trị tối đa = 10

Giá trị tối đa = 7,5

Khi giá trị số nguyên được truyền dưới dạng đối số thì “sumFunction (int n1, int n2)” được gọi. Nhưng khi một giá trị kép được truyền thì “sumFunction (double n1, double n2)” được gọi.

Constructors trong Java

Constructors là các phương thức đặc biệt có cùng tên với lớp. Chúng được gọi tự động khi đối tượng của lớp được tạo. 

Constructors được sử dụng để khởi tạo các giá trị. Mọi lớp đều có một đối tượng trong phương thức Java theo mặc định. Do đó phương thức khởi tạo có trong chương trình ngay cả khi chúng ta không tạo nó. Chúng ta có thể quá tải hàm tạo cho các mục đích cụ thể.

Ví dụ:

class MyClass {
int x;
// the Constructor
MyClass(inti )
{
x = i;
}
public static void main(String args[])
{
// Objects are created
MyClass t3 = new MyClass( 10 );
MyClass t4 = new MyClass( 20 );
System.out.println(t3.x + " " + t4.x);
}
}

Đầu ra

10 20

Khi các đối tượng được gọi, các hàm tạo sẽ tự động được gọi với các giá trị được chuyển làm đối số cho chúng. 

Đối số biến

Chúng ta có thể truyền đối số biến cho cùng một hàm. Chúng ta cần xác định hàm bằng một hình elip (…). Chỉ có thể chỉ định một biến có độ dài thay đổi và phải là tham số cuối cùng.

Ví dụ:

class Demo { 
public static void main (String args []) 
{ 
// Gọi phương thức có đối số là biến 
printMin (34, 1, 5, 6, 45.6); 
printMin (new double [] {5, 45.6, 3}); 
} 
public static void printMin (double ... number) { 
if (umbers.length == 0) { 
System.out.println ("Không có đối số được truyền"); 
trở về; 
} 
kết quả kép = number [0]; 
for (inti = 1; i <number.length; i ++) 
if (number [i] <result) 
result =umbers [i]; 
System.out.println ("Giá trị nhỏ nhất là" + kết quả); 
} 
}

Đầu ra:

Giá trị tối thiểu là 1

Giá trị tối thiểu là 3

Giá trị biến được truyền vào được lưu trữ dưới dạng một mảng trong biến được xác định trong định nghĩa hàm.

 Ví dụ: biến “số” trong ví dụ trên được lưu trữ dưới dạng một mảng và giá trị có thể được truy cập đơn giản như được thực hiện trong trường hợp của mảng.

Tổng kết

Như vậy thông qua bài viết trên đây, Box.edu đã cùng bạn tìm hiểu về cách xác định, tạo và thực thi các phương thức Java. Chúng tôi hy vọng những kiến thức trên sẽ hữu ích đối với bạn. 

Cảm ơn và chúc bạn thành công!

3.3/5 - (42 bình chọn)