java, آموزش قدم به قدم جاوا, جاوا, شی گرایی در جاوا

متد static در جاوا (Static Methods)

متد static در جاوا

در این جلسه تیم کدگیت را با آموزش متد static در جاوا همراهی کنید. پیش نیاز های این جلسه شامل موارد زیر هستند:

  1. آشنایی با شی گرایی
  2. آشنایی با متد
  3. آشنایی با Constructor
  4. آشنایی با متغیر static

Static در جاوا

کلمه کلیدی static در جاوا را ابتدای اولین برنامه ای که مینویسیم آن را میبینیم (منظور متد main است که static است) و شاید برای ما سوال شود این کلمه به چه معناست!! کلمه کلیدی static در جاوا اساسا برای مدیریت حافظه استفاده میشود. ما میتوانیم کلمه کلیدی Static را قبل از متغیرها، متدها و کلاسهای تو در تو قرار دهیم. نکته اساسی که در این کلمه کلیدی وجود دارد این است که static وابسته به کلاس است و نه شی!!! در این جلسه ما متد static در جاوا را توضیح میدهیم.

متد static در جاوا

وقتی ما قبل از خروجی یک متد کلمه کلیدی static بنویسیم آن متد را متد static در جاوا میگوییم. این متد شامل ویژگیهای زیر است:

  1. متد static وابسته به کلاس است نه وابسته به شی.
  2. متد static بدون ساخته شدن شی میتوان آن را صدا زد.
  3. متد static فقط به متغیر های (فیلدهای) static دسترسی دارد و مقدار آنها را میتواند تغییر دهد.

مثال اول

با یک مثال ساده مطالب بالا را شرح میدهیم. فرض کنید یک کلاس داریم برای دانشجویان. این کلاس شامل سه فیلد Student id و name و college است. فیلد college یک فیلد static است. ما درون این کلاس متدی به نام change قرار دادیم که مقدار متغیر college را تغیر دهد. کد متد static در جاوا به صورت زیر است:

public class Static_Student {

int Student_id;
String name;
static String college = "MIT";

static void change() {
college = "Harvard";
}

Static_Student(int r, String n) {
Student_id = r;
name = n;
}

void display() {
System.out.println(Student_id + " " + name + " " + college);
}

public static void main(String args[]) {

Static_Student.change();

Static_Student s1 = new Static_Student(111, "CodeGate1");
Static_Student s2 = new Static_Student(222, "Codegate2");

s1.display();
s2.display();
}

}

همانطور که میبینید قبل از اینکه ما از کلاس دانشجویان شی بسازیم متد change را صدا زدیم. این متد متغیر college را تغییر میدهد. خروجی کد متد static در جاوا به صورت زیر است:

111 CodeGate1 Harvard
222 Codegate2 Harvard

مثال دوم

مثال دوم متد static در جاوا بسیار ساده است. ما یک متد static داریم به نام cube. این متد یک عدد ورودی میگیرد و مکعب آن عدد را برمیگرداند. ما این متد را static نوشتیم.

public class Calculate {

static int cube(int x) {
return x * x * x;
}

public static void main(String args[]) {
int result = Calculate.cube(5);
System.out.println(result);
}

}

همانطور که میبینید ما بدون ساختن شی از کلاس Calculate یک متد آن که static است را صدا زدیم. خروجی کد بالا عدد 125 است.

محدودیت های متد Static در جاوا

همانطور که دیدید متد static کاربرد فراوانی دارد ولی در کنار کاربرد های خاص خود، دو محدودیت نیز دارد. محدودیت اول این است که این نوع متدها نمیتوانند به طور مستقیم متغیرها یا متدهایی که static نیستند را استفاده کنند.محدودیت دوم هم بدین صورت است که متد static در جاوا نمیتواند در خود از کلمه کلیدی this و super استفاده کند.

پسورد: www.codegate.ir

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *