ورود

View Full Version : سوال: سوال در مورد کلمه کلیدی static



Sina.iRoid
شنبه 21 آذر 1394, 14:40 عصر
سلام. لطف کنید کد زیر و نگاه کنید:


public class MainClass {

static int number = 0;

public static void main(String[] args) {

print("Java");
print("Programming");
print(number + "");
}

// print method
public static void print(String text) {
System.out.println(text);
}
}


چرا متغیر number حتما باید از نوع static تعریف بشه. ممنون میشم اگر راهنماییم کنید.

alpotkin
شنبه 21 آذر 1394, 15:08 عصر
سلام

فقط متد و فیلد های استاتیک رو میشه در متد استاتیک صدا کرد. پس چون تابع main یک تابع استاتیک هست پس باید فیلد ها و متدهایی که داحلش استفاده میکنی باید استاتیک باشه.
در غیر این صورت باید یک شی بسازید



public class MainClass {

int number = 0;

public static void main(String[] args) {
MainClass mc = new MainClass();
mc.print("Java");
mc.print("Programming");
mc.print(mc.number + "");
}

// print method
public void print(String text) {
System.out.println(text);
}
}


اگر با مفهوم کلاس اشنا بشی ... راحت تر درک خواهی کرد.