.3. Calling a MethodIn creating a method, you give a definition of wha dịch - .3. Calling a MethodIn creating a method, you give a definition of wha Việt làm thế nào để nói

.3. Calling a MethodIn creating a m

.3. Calling a Method
In creating a method, you give a definition of what the method is to do. To use a method, you have to call or invoke it. There are two ways to call a method; the choice is based on whether the method returns a value or not.

If the method returns a value, a call to the method is usually treated as a value. For example,

int larger = max(3, 4);



calls max(3, 4) and assigns the result of the method to the variable larger. Another example of a call that is treated as a value is

System.out.println(max(3, 4));



which prints the return value of the method call max(3, 4).

If the method returns void, a call to the method must be a statement. For example, the method println returns void. The following call is a statement:

System.out.println("Welcome to Java!");



Note


A method with a nonvoid return value type can also be invoked as a statement in Java. In this case, the caller simply ignores the return value. This is rare, but permissible if the caller is not interested in the return value.




When a program calls a method, program control is transferred to the called method. A called method returns control to the caller when its return statement is executed or when its method-ending closing brace is reached.

Listing 5.1 shows a complete program that is used to test the max method. The output of the program is shown in Figure 5.2.


Figure 5.2. The program invokes max(i, j) in order to get the maximum value between i and j.




--------------------------------------------------------------------------------

[Page 132]

Listing 5.1. TestMax.java

1 public class TestMax {
2 /** Main method */
3 public static void main(String[] args) {
4 int i = 5;
5 int j = 2;
6 int k = max(i, j);
7 System.out.println("The maximum between " + i +
8 " and " + j + " is " + k);
9 }
10
11 /** Return the max between two numbers */
12 public static int max(int num1, int num2) {
13 int result;
14
15 if (num1 > num2)
16 result = num1;
17 else
18 result = num2;
19
20 return result;
21 }
22 }




This program contains the main method and the max method. The main method is just like any other method except that it is invoked by the JVM.

The main method's header is always the same, like the one in this example, with the modifiers public and static, return value type void, method name main, and a parameter of the String[] type. String[] indicates that the parameter is an array of String, a subject addressed in Chapter 6, "Arrays."

The statements in main may invoke other methods that are defined in the class that contains the main method or in other classes. In this example, the main method invokes max(i, j), which is defined in the same class with the main method.

When the max method is invoked (line 6), variable i's value 5 is passed to num1, and variable j's value 2 is passed to num2 in the max method. The flow of control transfers to the max method. The max method is executed. When the return statement in the max method is executed, the max method returns the control to its caller (in this case the caller is the main method). This process is illustrated in Figure 5.3.


Figure 5.3. When the max method is invoked, the flow of control transfers to the max method. Once the max method is finished, it returns the control back to the caller.




--------------------------------------------------------------------------------

[Page 133]
Caution


A return statement is required for a nonvoid method. The method shown below in (a) is logically correct, but it has a compilation error because the Java compiler thinks it possible that this method does not return any value.



To fix this problem, delete if (n < 0) in (a), so that the compiler will see a return statement to be reached regardless of how the if statement is evaluated.




Note


One of the benefits of methods is for reuse. The max method can be invoked from any class besides TestMax. If you create a new class, Test, you can invoke the max method using ClassName.methodName (i.e., TestMax.max).




5.3.1. Call Stacks
Each time a method is invoked, the system stores parameters and variables in an area of memory, known as a stack, which stores elements in last-in first-out fashion. When a method calls another method, the caller's stack space is kept intact, and new space is created to handle the new method call. When a method finishes its work and returns to its caller, its associated space is released.

Understanding call stacks helps you to comprehend how methods are invoked. The variables defined in the main method are i, j, and k. The variables defined in the max method are num1, num2, and result. The variables num1 and num2 are defined in the method signature and are parameters of the method. Their values are passed through method invocation. Figure 5.4 illustrates the variables in the stack.


Figure 5.4. When the max method is invoked, the flow of control transfers to the max method. Once the max method is finished, it returns the control back to the caller.




Tip


If you use an IDE such as JBuilder, NetBeans, or Eclipse, please refer to Learning Java Effectively with JBuilder/NetBeans/Eclipse in the supplements. This supplement shows you how to use a debugger to trace method invocations.

0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
.3. Kêu gọi một phương phápTrong việc tạo ra một phương pháp, bạn cung cấp cho một định nghĩa của những gì các phương pháp là để làm. Để sử dụng một phương pháp, bạn phải gọi điện thoại hoặc gọi nó. Có hai cách để gọi một phương pháp; sự lựa chọn ngày cho dù phương pháp trả về một giá trị hoặc không.Nếu phương pháp trả về một giá trị, một cuộc gọi đến phương pháp thường được coi là một giá trị. Ví dụ,int lớn hơn = tối (3, 4);cuộc gọi tối đa (3, 4) và đặt kết quả của phương pháp biến lớn hơn. Một ví dụ khác của một cuộc gọi được xử lý như một giá trị làSystem.out.println (tối đa (3, 4));mà in giá trị trả lại phương pháp gọi tối đa (3, 4).Nếu phương pháp trở về void, một cuộc gọi đến phương pháp phải là một tuyên bố. Ví dụ, println phương pháp trở về void. Các cuộc gọi là một tuyên bố:System.out.println ("Chào mừng đến với Java!");Lưu ý Một phương pháp với một loại giá trị trả lại nonvoid cũng có thể được kích hoạt như một tuyên bố trong Java. Trong trường hợp này, người gọi đơn giản là bỏ qua giá trị trả lại. Điều này là hiếm, nhưng cho phép nếu người gọi không phải là quan tâm đến giá trị trả lại. Khi một chương trình gọi là một phương pháp, chương trình điều khiển được chuyển giao cho các phương pháp được gọi là. Một phương pháp gọi là trả lại kiểm soát cho người gọi khi tuyên bố trở lại của nó được thực hiện hoặc khi phương pháp kết thúc đóng cửa đôi được đạt tới.Danh sách 5.1 cho thấy một chương trình đầy đủ được sử dụng để thử nghiệm các phương pháp tối đa. Đầu ra của chương trình được hiển thị trong hình 5.2.Con số 5,2. Chương trình invokes max (i, j) để có được giá trị tối đa giữa i và j.--------------------------------------------------------------------------------[Trang 132]Danh sách 5.1. TestMax.java 1 công cộng lớp TestMax {} 2 / ** chính phương pháp * / 3 công tĩnh void main (String [] args) {} 4 int tôi = 5; 5 int j = 2; 6 int k = tối (i, j); 7 System.out.println ("Tối đa giữa" + i + 8" và" + j + "là" + k); 9}1011 / ** trở lại tối đa giữa hai số * /12 int công cộng tĩnh max (int num1, int num2) {}13 int quả;1415 nếu (num1 > num2)16 quả = num1;17 khác18 quả = num2;1920 trả về kết quả; 21}22} Chương trình này có chứa các phương pháp chính và các phương pháp tối đa. Các phương pháp chính là giống như bất kỳ phương pháp khác ngoại trừ rằng nó được kích hoạt bởi JVM.Tiêu đề các phương pháp chính là luôn luôn như nhau, như một trong ví dụ này, với các khu vực công cụ điều chỉnh và tĩnh, trở về tên giá trị loại void, phương pháp chính, và một tham số của String [] loại. String [] chỉ ra rằng các tham số là một mảng của chuỗi, một chủ đề giải quyết trong chương 6, "Mảng."Những điều khoản trong chính có thể gọi các phương pháp khác được định nghĩa trong lớp có chứa các phương pháp chính hoặc trong các lớp học khác. Trong ví dụ này, phương pháp chính invokes max (i, j), được xác định trong lớp học tương tự với các phương pháp chính.Khi các phương pháp tối đa là gọi (khổ 6), biến i giá trị 5 được thông qua để num1, và giá trị biến abnj 2 được thông qua để num2 trong phương pháp tối đa. Dòng chảy của điều khiển chuyển sang các phương pháp tối đa. Các phương pháp tối đa được thực thi. Khi các báo cáo trở lại trong phương pháp tối đa được thực thi, các phương pháp tối đa trở về sự kiểm soát của nó gọi (trong trường hợp người gọi là phương pháp chính). Quá trình này được minh họa trong hình 5.3.Con số 5.3. Khi các phương pháp tối đa gọi, dòng chảy của điều khiển chuyển sang các phương pháp tối đa. Sau khi các phương pháp tối đa hoàn tất, nó trở về sự kiểm soát trở lại cho người gọi. --------------------------------------------------------------------------------[Trang 133]Thận trọng Một tuyên bố trở lại được yêu cầu cho một phương pháp nonvoid. Phương pháp Hiển thị dưới đây ở (a) là một cách hợp lý đúng, nhưng nó có một lỗi biên soạn bởi vì trình biên dịch Java nghĩ rằng nó có thể rằng phương pháp này không trả lại bất kỳ giá trị. Để khắc phục vấn đề này, hãy xóa nếu (n < 0) tại (a), vì vậy mà trình biên dịch sẽ thấy một tuyên bố trở lại được đạt đến bất kể như thế nào các nếu tuyên bố được đánh giá. Lưu ý Một trong những lợi ích của phương pháp là để tái sử dụng. Các phương pháp tối đa có thể được gọi từ bất kỳ lớp học bên cạnh việc TestMax. Nếu bạn tạo một lớp mới, thử nghiệm, bạn có thể gọi phương pháp tối đa bằng cách sử dụng ClassName.methodName (ví dụ, TestMax.max). 5.3.1. gọi ngăn xếpMỗi lần một phương pháp được gọi, Hệ thống lưu trữ các tham số và biến trong một khu vực của bộ nhớ, được biết đến như một chồng, mà các cửa hàng yếu tố trong cuối cùng trong first-out thời trang. Khi một phương pháp gọi là một phương pháp, người gọi ngăn xếp space được giữ nguyên vẹn, và không gian mới được tạo ra để xử lý cuộc gọi phương pháp mới. Khi một phương pháp kết thúc công việc của mình và trả về cho người gọi của nó, không gian liên kết của nó được phát hành.Sự hiểu biết cuộc gọi ngăn xếp giúp bạn hiểu làm thế nào phương pháp được gọi. Các biến được xác định trong các phương pháp chính là tôi, j và k. Các biến được xác định trong các phương pháp tối đa là num1, num2, và kết quả. Biến num1 và num2 được định nghĩa trong chữ ký phương pháp và các thông số của phương pháp. Giá trị của họ được chuyển qua lời gọi phương pháp. Con số 5.4 minh hoạ các biến trong ngăn xếp.Con số 5.4. Khi các phương pháp tối đa gọi, dòng chảy của điều khiển chuyển sang các phương pháp tối đa. Sau khi các phương pháp tối đa hoàn tất, nó trở về sự kiểm soát trở lại cho người gọi. Mẹo Nếu bạn sử dụng một IDE chẳng hạn như JBuilder, NetBeans, hoặc Eclipse, xin vui lòng tham khảo để học Java có hiệu quả với JBuilder/NetBeans/Eclipse trong các chất bổ sung. Phần bổ sung này cho bạn thấy làm thế nào để sử dụng một trình gỡ lỗi để theo dõi phương pháp invocations.
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
.3. Gọi một phương pháp
Trong việc tạo ra một phương pháp, bạn đưa ra một định nghĩa về những gì phương pháp này là để làm. Để sử dụng một phương thức, bạn phải gọi hay gọi nó. Có hai cách để gọi một phương pháp; sự lựa chọn là dựa vào việc phương thức trả về một giá trị hay không. Nếu phương thức trả về một giá trị, một cuộc gọi đến phương pháp này thường được coi là một giá trị. Ví dụ, int lớn hơn = max (3, 4); gọi max (3, 4) và gán kết quả của các phương pháp để biến lớn hơn. Một ví dụ khác của một cuộc gọi được đối xử như một giá trị là System.out.println (max (3, 4)); trong đó in giá trị trả về của phương thức gọi max (3, 4). Nếu phương thức trả về void, một cuộc gọi để phương pháp phải là một tuyên bố. Ví dụ, phương thức trả về void println. Các cuộc gọi sau đây là một tuyên bố: System.out.println ("Welcome to Java!"); Lưu ý Một phương pháp với một kiểu giá trị trả về nonvoid cũng có thể được gọi là một câu lệnh trong Java. Trong trường hợp này, người gọi chỉ đơn giản là bỏ qua các giá trị trả về. Điều này là rất hiếm, nhưng cho phép nếu người gọi là không quan tâm đến giá trị trả về. Khi một chương trình gọi là phương pháp, điều khiển chương trình được chuyển giao cho gọi là phương pháp. A được gọi là phương pháp kiểm soát lợi nhuận cho người gọi khi tuyên bố trở lại của nó được thực hiện hoặc khi kết thúc cú đúp phương pháp kết thúc của nó là đạt. Liệt kê 5.1 cho thấy một chương trình hoàn chỉnh được sử dụng để thử nghiệm các phương pháp tối đa. Các đầu ra của chương trình được thể hiện trong hình 5.2. Hình 5.2. Chương trình gọi max (i, j) để có được giá trị tối đa giữa i và j. ----------------------------- -------------------------------------------------- - [Trang 132] liệt kê 5.1. TestMax.java 1 public class TestMax {2 / ** Phương pháp chính * / 3 static void main (String [] args) {công 4 int i = 5; 5 int j = 2; 6 int k = max (i, j) ; 7 System.out.println ("tối đa giữa" + i + 8 "và" + j + "là" + k); 9} 10 11 / ** Trả lại tối đa giữa hai số * / 12 public static int max (int num1, int num2) {13 int kết quả; 14 15 if (num1> num2) 16 kết quả = num1; 17 khác 18 kết quả = num2; 19 kết quả 20 trở lại; 21} 22} Chương trình này bao gồm các phương pháp chính và max phương pháp. Các phương pháp chính là giống như bất kỳ phương pháp nào khác ngoại trừ việc nó được gọi bởi JVM. Tiêu đề Phương pháp chính luôn luôn là như nhau, như trong ví dụ này, với các bổ công và tĩnh, kiểu giá trị trả lại trống, tên phương pháp chính, và một tham số của String [] loại. String [] chỉ ra rằng các tham số là một mảng của chuỗi, một đề cập đến trong chương 6 "Arrays." Các câu lệnh trong chính có thể gọi các phương pháp khác được quy định tại các lớp chứa phương thức main hay trong các lớp khác. Trong ví dụ này, phương pháp chính gọi max (i, j), được định nghĩa trong lớp cùng với các phương pháp chính. Khi phương thức tối đa được gọi (dòng 6), biến i của giá trị 5 được đưa ra num1, và biến j giá trị 2 được thông qua để num2 trong phương pháp tối đa. Dòng chảy của chuyển điều khiển đến phương pháp tối đa. Các phương pháp tối đa được thực thi. Khi tuyên bố trở lại trong các phương pháp tối đa được thực thi, phương pháp max trả về điều khiển để người gọi của nó (trong trường hợp này gọi là phương pháp chính). Quá trình này được minh họa trong hình 5.3. Hình 5.3. Khi phương thức tối đa được gọi, dòng chảy của chuyển điều khiển đến các phương pháp tối đa. Sau khi phương thức tối đa là xong, nó sẽ trả lại quyền điều khiển để người gọi. ---------------------------------- ---------------------------------------------- [Trang 133] Chú ý Một tuyên bố trở lại là cần thiết cho một phương pháp nonvoid. Các phương pháp thể hiện dưới đây trong (a) là logic đúng, nhưng nó có một lỗi biên dịch vì trình biên dịch Java nghĩ nó có thể là phương pháp này không trả lại bất kỳ giá trị. Để khắc phục vấn đề này, xóa if (n <0) (a) , vì vậy mà các trình biên dịch sẽ thấy một tuyên bố trở lại để đạt được bất kể như thế nào nếu tuyên bố được đánh giá. Lưu ý Một trong những lợi ích của phương pháp này là để tái sử dụng. Các phương pháp tối đa có thể được gọi từ bất kỳ lớp học bên cạnh TestMax. Nếu bạn tạo một lớp mới, thử nghiệm, bạn có thể gọi phương thức tối đa sử dụng ClassName.methodName (tức là, TestMax.max). 5.3.1. Gọi Stacks Mỗi lần được gọi, hệ thống cửa hàng thông số và biến trong một khu vực của bộ nhớ, được biết đến như một chồng, trong đó lưu trữ các phần tử trong cuối cùng trong thời trang đầu tiên-out. Khi một phương thức gọi phương thức khác, ngăn xếp không gian của người gọi được giữ nguyên trạng và không gian mới được tạo ra để xử lý các cuộc gọi phương pháp mới. Khi một phương thức kết thúc công việc và trả về cho người gọi của nó của nó, không gian liên quan của nó được phát hành. Stacks Hiểu cuộc gọi giúp bạn hiểu làm thế nào các phương pháp được gọi. Các biến được định nghĩa trong các phương pháp chính là i, j, và k. Các biến được định nghĩa trong các phương pháp tối đa là num1, num2, và kết quả. Các biến num1 và num2 được xác định trong phương pháp chữ ký và các thông số của phương pháp. Giá trị của chúng được chuyển qua gọi phương thức. Hình 5.4 biến trong stack. Hình 5.4. Khi phương thức tối đa được gọi, dòng chảy của chuyển điều khiển đến các phương pháp tối đa. Sau khi phương thức tối đa là xong, nó sẽ trả lại quyền điều khiển để người gọi. Mẹo Nếu bạn sử dụng một IDE như JBuilder, NetBeans, hoặc Eclipse, hãy tham khảo để học tập Java có hiệu quả với JBuilder / NetBeans / Eclipse trong chất bổ sung. Bổ sung này cho bạn thấy làm thế nào để sử dụng một trình gỡ lỗi để theo dõi các lời gọi phương thức.




























































































































đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2025 I Love Translation. All reserved.

E-mail: