salam
static tooye java che farghi ba c++ dare
mishe toozih bedin che joori kar mikone?
mamnoon
Printable View
salam
static tooye java che farghi ba c++ dare
mishe toozih bedin che joori kar mikone?
mamnoon
تا جایی که یادم هست فرقی نداره البته شاید اشتباه کنم اما یه سر به اینجا بزن:
نه فرقی ندارن.
کارش اینه که یک متغییر و یا متد رو از اشیاء کلاسش مستقل می کنه. مثل این که متغییر متعلق به کلاس است و نه اشیاء آن کلاس. مثلاً
کد:class Bread {
static final int wholewheat = 0;
static final int ninegrain = 1;
static final int rye = 2;
static final int french = 3;
}
yani age ye object x az ye no class new konim va class ye object static dashte bashe age x ro dobare new konim oon static e chi mishe
meghdaresh avaz mishe?
نه دیگه.
یه جورایی مثل متغییرهای Global هستش.
یعنی اگر ده تا شئ از یه کلاس بسازین و مثلاً متغییر استاتیک staticVar رو تغییر بدین توی همشون تغییر می کنه.
توجه کنید که برخورد اینجوری با متغییرهای استاتیک خیلی مناسب نیست.
معمولاً زمانی استفاده میشه که می خوایم اون متغییر برای یک کلاس باشه. معمولاً از اونا از طریق کلاس استفاده می شه.
مثلاً Bread.rye
و یا Socket.TCP.
اگرچه می شه اینطوری هم استفاده کرد:
Bread myBread= new Bread();
int a = myBread.rye;
ولی دسترسی به آن ها بوسیلۀ نام کلاس منطقی تره. چون اونا به کلاس تعلق دارن و نه به یک شئ. یعنی از اول برنامه که run میشه تا آخر فقط یه نمونه از اون وجود دارد (مثل متغییرهای global موجود در C)
merci
javabetoon khoob bood vali bicharam kard!!!!!!!