Phương pháp tĩnh trong Java – Phương thức độc lập với một đối tượng

Trong bài viết dưới đây chúng tôi sẽ giới thiệu tới bạn về phương pháp tĩnh trong Java. Tiếp theo đó sẽ tìm hiểu thêm về cách từ khóa “Static” có thể được gắn thẻ với câu lệnh khai báo phương thức để có thêm chức năng và hiểu chi tiết về phương thức trong Java. Cùng tìm hiểu ngay thôi nào!

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

Phương pháp tĩnh trong Java

Java được thiết kế gần hai thập kỷ trước (năm 1995) bởi Sun Microsystems. Giống như C ++,  Java dựa trên mô hình hướng đối tượng nhưng học Java đơn giản hơn nhiều so với C ++. Java cho phép bạn thao tác các “đối tượng”. Thường là các đại diện của các đối tượng trong thế giới thực, như ô tô, máy tính, cây cối, hành tinh, ngôi sao và những thứ tương tự.

Ngày nay Java được sử dụng trong một loạt các ứng dụng. Hầu hết các máy tính, bảng điều khiển trò chơi và điện thoại di động đều hỗ trợ Java ở một số dạng. Nếu bạn muốn trở thành một lập trình viên máy tính. Bạn gần như chắc chắn ít nhất phải đọc mã Java. Phong cách đơn giản của nó khiến nó trở  thành điểm khởi đầu hoàn hảo để viết ứng dụng Android của riêng bạn.

Phương thức trong Java là gì? Đây là một phương thức là một tập hợp các câu lệnh, một hàm. Cho phép bạn thực hiện các thao tác trên dữ liệu của mình.

Trong Java, một phương thức tĩnh là một phương thức thuộc về một lớp chứ không phải là một thể hiện của một lớp. Phương thức này có thể truy cập được đối với mọi cá thể của một lớp. Nhưng các phương thức được định nghĩa trong một thể hiện chỉ có thể được truy cập bởi đối tượng của một lớp đó.

Phương thức tĩnh không phải là một phần của các đối tượng mà nó tạo ra nhưng là một phần của định nghĩa lớp. Không giống như các phương thức thể hiện, một phương thức tĩnh được tham chiếu bởi tên lớp. Có thể được gọi mà không cần tạo một đối tượng của lớp.

Nói một cách đơn giản hơn, chúng là các phương thức tồn tại. Ngay cả khi chưa có đối tượng nào được xây dựng và không yêu cầu đối tượng gọi.

Phuong-phap-tinh-trong-Java
Phương pháp tĩnh trong Java

Một phương thức có cú pháp sau:

Access_modifier return_type name_of_method (parameters)
{
//operations to be performed;
}

Ở đây, “access_modifier”, bao gồm từ khóa tĩnh, là loại truy cập mà bạn muốn gán cho phương thức của mình. Bạn hướng dẫn máy tính cách gọi phương thức của bạn. Chẳng hạn, liệu nó có nên công khai hay riêng tư hay không. “Return_type” là kiểu dữ liệu của giá trị (hoặc kiểu dữ liệu của giá trị của kết quả) mà bạn sẽ nhận được.

Tên phương pháp của bạn (“name_of_method”) phải luôn bắt đầu bằng chữ thường. “Tham số” là tùy chọn. Bạn có thể chuyển các giá trị cho hai hoặc nhiều tham số.

Ví dụ:

Hãy xác định một phương pháp để giúp bạn hiểu khái niệm tốt hơn. Chúng tôi sẽ sử dụng từ khóa “Static” để chúng tôi có thể tiếp tục sử dụng phương pháp tĩnh trong Java sau:

public static double maximum (double num1, double num2)
{
     double result;
     if (num1 > num2)
      result = num1;
     else
      result = num2;
     return result;
}

Ở đây, công cụ sửa đổi quyền truy cập là “công khai“. Nó sẽ được các đối tượng khác truy cập trong toàn bộ phần nội dung của chương trình. “Double” đề cập đến kiểu dữ liệu đang được trả về.

Tên mà chúng tôi đã đặt cho phương thức của mình là “tối đa”. Và các tham số chúng tôi truyền vào là hai số mà chúng tôi đã thực hiện các hoạt động trong phần thân của chương trình.

Đây là một chương trình làm việc mà bạn có thể thử cho mình:

public class Test {
     /* Initial main method declaration */
     public static void main (String [] args) {
     double a = 4.00001;
     double b = 2.00002;
     double c = maximum (a, b); /**  We send the values of a and b to the maximum method here /
     System.out.println("The max number between " + a +
             " and " + b + " is " + c);
    }
     Public static double maximum (double num1, double num2)
     {
          double result;
          if (num1 > num2)
             result = num1;
          else
             result = num2;
          return result;
     }
}

Output:

Kết quả của chương trình sẽ là: Số lớn nhất từ ​​4.000001 đến 2.000002 là 4.000001.

Giải thích:

Chúng tôi đã tạo một lớp gọi là “Test” trong đó chúng tôi gọi phương thức là “Max” mà chúng tôi đã viết trước đó. Chúng tôi đã chuyển các giá trị của “a”“b” vào phương thức, nơi chúng trở thành “num1” và “num2”. Máy tính thực hiện các phép toán trên chúng và trả về “kết quả”, trở thành “c”. Sau đó, chúng tôi yêu cầu máy tính in ra giá trị của “c”, là số lớn nhất.

Nếu bạn nhận thấy, chúng tôi đã sử dụng từ khóa static khi chúng tôi xác định phương thức chính dưa theo phương pháp tĩnh trong Java sau:

public static void main (String [] args)

We also used the static keyword when defining the method maximum:

Public static double maximum (double num1, double num2)

Định nghĩa các phương thức tĩnh

Từ khóa static hướng dẫn máy tính rằng phương thức chúng ta đang xác định là độc lập với bất kỳ đối tượng nào và các biến của nó. Điều này có nghĩa là bạn có thể định nghĩa phương thức mà không cần tham chiếu đến bất kỳ đối tượng nào.

Đây là lý do tại sao phương thức chính luôn ở trạng thái tĩnh. Vì chúng tôi chưa viết bất kỳ đối tượng nào mà nó có thể tham chiếu đến. Các phương thức tĩnh cho máy tính biết rằng phương thức này độc lập với chính nó.

Các phương thức Static thường truy cập vào dữ liệu được xác định trong các tham số. Thực hiện các hoạt động trên nó và trả về một kết quả. Họ không cần truy cập các biến đối tượng trong chương trình. Nếu bạn cố gắng truy cập các biến từ các đối tượng khác. Trình biên dịch sẽ xuất hiện một lỗi. Các phương thức không tĩnh có thể truy cập các biến từ các đối tượng khác.

Nếu bạn muốn xác định một phương thức là tĩnh, bạn sử dụng cú pháp sau:

Access_modifier static return_type name_of_method (parameters)
{
   //operations to be performed;
}

Như bạn có thể thấy, tất cả những gì chúng tôi đã làm là thêm từ khóa tĩnh vào sau “access_modifier”.

Bây giờ, trong chương trình ví dụ của chúng tôi. Chúng tôi đã gọi phương thức tĩnh từ bên trong lớp là “Test”.

Điều này được thực hiện bởi dòng mã sau:

double c = maximum (a, b);

Bởi vì phương thức “tối đa” của chúng tôi là tĩnh. Chúng tôi phải chuyển các giá trị của “num1” và “num2” khi chúng tôi gọi nó. Ngoài ra, phương pháp tĩnh trong Java trả về một giá trị “Double”, mà chúng ta cũng phải gán cho “c”. Nếu phương thức của chúng ta không phải là Static. Chúng ta sẽ phải ghép nối nó với một đối tượng. Đối tượng này sau đó sẽ được chuyển làm giá trị tham số cho phương thức Instance.

Nếu bạn muốn truy cập phương thức tĩnh “Maximum” trong lớp “Test” từ bên trong phần thân của một lớp khác được gọi là “Movie”, bạn sẽ sử dụng cú pháp sau:

class Movie
{
   //code
   double action = Test.maximum(a, b);
}

hương thức Static tương tự như phương thức Instance. Họ chỉ nhận được chức năng bổ sung và các hạn chế được bổ sung. Ví dụ, phương thức tĩnh không thể truy cập các thành viên dữ liệu không tĩnh được định nghĩa trong phần thân của lớp. Nó cũng không thể gọi các phương thức không tĩnh khác.

Khi nào bạn nên sử dụng phương thức tĩnh?

Tại sao chúng ta sử dụng phương thức tĩnh? Bởi vì các phương thức tĩnh là độc lập, chúng có thể được gọi từ các lớp khác nhau. Và mỗi lần truyền các giá trị tham số khác nhau. Các phương thức Static cũng dễ thực thi hơn. Vì máy tính không phải tìm kiếm giá trị của các biến tham chiếu (vì không có bất kỳ biến tham chiếu nào!).

Tổng kết

Chúng tôi hy vọng bạn đã hiểu rõ hơn về cách sử dụng các phương pháp tĩnh trong Java. Hãy nhớ rằng, cách tốt nhất để học lập trình là tự mình thử. Java là một ngôn ngữ khá dễ học. Ngay cả đối với những người chưa có kinh nghiệm lập trình trước đó. Khi bạn đã hiểu cơ bản về nó. Hãy thử ở các cấp độ nâng cao hơn và viết trò chơi hoặc ứng dụng của riêng bạn dựa trên Java. Chúc bạn thành công!

5/5 - (5 bình chọn)
Xin chào các bạn! Mình là Hà Nguyên Phương Hiện đang là tác giả của Box.edu.vn website nổi tiếng chuyên review, đánh giá, giới thiệu các khóa học hay nhất hiện nay.