جاوا یک زبان شی گرا است و بنابراین نیاز به تعریف متدهای آن در یک کلاس دارد. هنگامی که یک متد در یک کلاس اعلان شد، می توان آن را در اصلی یا هر متد دیگری فراخوانی کرد. همچنین برخی از روشهای داخلی قبلاً در کتابخانههای جاوا تعریف شدهاند. برای فراخوانی هر روش داخلی یا خود تعریف شده با استفاده از نحو توضیح داده شده در زیر.
روش چیست؟
در جاوا، یک متد بلوکی از کد است که عملکرد خاصی را انجام می دهد و تنها زمانی اجرا می شود که فراخوانی شود. متدها معمولاً به عنوان توابع نیز شناخته می شوند. هر روش نام خود را دارد. شما می توانید داده ها را از طریق پارامترها به یک متد منتقل کنید. یک متد همچنین دارای یک نوع بازگشتی است که نوع داده ای را که برمی گرداند تعریف می کند. بر اساس این قرارداد، نام روش باید در lowCamelCase نوشته شود که حرف اول آن کوچک باشد. علاوه بر این، یک متد باید یک نام مناسب داشته باشد، ترجیحاً یک فعل اشاره به کاری که انجام می دهد، به عنوان مثال add() , printContactList() , updateInfo() و غیره. روش. کد بدنه اجرا می شود و متد به کد قبلی که از آن فراخوانی شده بود برمی گردد و از خط بعدی ادامه می یابد. یک متد زمانی به کدی که آن را فراخوانی کرده است برمی گردد:- تمام کدهای متد را تکمیل می کند و به انتهای آن می رسد.
- به یک بیانیه بازگشت می رسد.
- یک استثنا می اندازد.
چرا از روش ها استفاده می شود؟
روشها به این دلیل استفاده میشوند که اجازه میدهند کد بدون بازنویسی دوباره و دوباره استفاده شود. متدها صرفه جویی در زمان هستند و کد را منظم و قابل خواندن نگه می دارند. این کد را برای چندین کدنویس قابل درک می کند. این به ماژولار کردن برنامه کمک می کند. اگر از روشها استفاده نشود، برنامه میتواند بسیار طولانی شود و آزمایش، اشکالزدایی یا حفظ کد آن دشوار باشد.یک روش ایجاد کنید
public class Driver {
public static void printName(String name) {
System.out.println("Hi, I am " + name + "!");
}
}
اعلام روش
به طور کلی، اعلام متد دارای اجزای زیر است:-
Modifier : نوع دسترسی را تعریف می کند یعنی از جایی که می توان به متد در برنامه شما دسترسی پیدا کرد، به عنوان مثال، عمومی ، خصوصی و غیره. در این حالت عمومی است ، به این معنی که این متد خارج از کلاس نیز قابل دسترسی است.
-
نوع بازگشت : نوع داده مقداری که متد برمی گرداند. در این صورت باطل است یعنی چیزی را بر نمی گرداند.
-
نام متد : نام روشی است که در برنامه ما با آن فراخوانی می شود. نام متد ما printName است .
-
لیست پارامترها : لیستی از داده هایی است که باید به متد ارسال شوند. با کاما از هم جدا شده است و قبل از هر داده ورودی، نوع داده آن وجود دارد. اگر داده ای برای ارسال وجود نداشته باشد، براکت () خالی می ماند. ما یک نام پارامتر از نوع String را ارسال کرده ایم .
-
بدنه روش : شامل کدی است که باید در داخل پرانتزهای فرفری {} اجرا شود .
یک متد را فراخوانی کنید
برای فراخوانی یک متد در جاوا، کافی است نام متد را بنویسید و با دو پرانتز () و نقطه ویرگول (;) بنویسید. اگر متد دارای پارامترهایی در اعلان باشد، آن پارامترها در داخل پرانتز () ارسال می شوند اما این بار بدون اینکه نوع داده آنها مشخص شده باشد. با این حال، مهم است که دنباله آرگومانها به همان شکلی که در تعریف متد تعریف شده است، حفظ شود. برای درک بهتر این موضوع به یک مثال نگاه می کنیم.مثال 1
public class Driver {
public static void printName(String name) {
System.out.println("Hi, I am " + name + "!");
}
public static void main(String[] args) {
String name = "Mary";
printName(name);
String name1 = "Lucy";
printName(name1);
String name2 = "Alex";
printName(name2);
String name3 = "Zoey";
printName(name3);
}
}
خروجی
سلام من مریم هستم سلام، من لوسی هستم! سلام من الکس هستم سلام من زویی هستم
توضیح
در قطعه بالا، متدی که تعریف کردیم به صورت main فراخوانی می شود. این یک استدلال دارد که باید تصویب شود. ما چهار بار متد را فراخوانی کرده ایم و هر بار آرگومان را تغییر می دهیم. با هر چهار آرگومان مختلف، متد خروجی های مختلفی را برای نام های مختلف برگردانده است.مثال 2
public class Driver {
static int add(int x, int y) {
int sum = x + y;
return sum;
}
public static void main(String[] args) {
int x = 10;
int y = 20;
int z = add(x, y);
System.out.println(x + " + " + y + " = " + z);
x = 5;
y = 4;
z = add(x, y);
System.out.println(x + " + " + y + " = " + z);
x = 100;
y = 15;
z = add(x, y);
System.out.println(x + " + " + y + " = " + z);
x = 50;
y = 5;
z = add(x, y);
System.out.println(x + " + " + y + " = " + z);
}
}
خروجی
10 + 20 = 30 5 + 4 = 9 100 + 15 = 115 50 + 5 = 55
GO TO FULL VERSION