سلام.
بابت آموزش دستتون درد نکنه.
یه چنتا سوال داشتم. البته ممکنه بعضیاش رو در جلسات بعدی بفرمایید، ببخشید من یکم عجولم
۱. چرا main نوع void برمیگردونه؟ نیازی به برگردوندن عدد مثل C نیست؟
۲. چون main رو static بعریف کردیم، میشه به متدهای غیر استاتیک از همون کلاس دسترسی داشت یا فقط به استاتیک ها میشه از main دسترسی داشت؟
۳. راهی وجود داره که برنامه های چاوا رو کامپایل کرد تا بدون VM اجرا بشن؟
بعد از روزها جواب ! :
۱. متد main اولین متدی هستش که اجرا میشه واسه همین Static تعریف میشه ، و متد دیگه ای اونو فراخوانی نمیکنه که این بخواد بهش مقداری رو برگردونه واسه همین از نوع void تعریف میشه .
۲. استاتیک بودنش ربطی به دسترسی به بقیه نداره فک کنم
۳. اینو دقیق نمیدونم ولی فک نکنم ، مثل این میمونه که یه برنامه ی C# بنویسیم با .NET ورژن ۴ بعد بدون اینکه .net نصب باشه توقع داشته باشیم اجرا بشه
یکم اطلاعات اضافی (!) :
کامپایلر ها کدهایی که مینویسیم رو مستقیما به صفر و یک تبدیل نمیکنن چون نمیدونن که این برنامه قراره روی چه سخت افزاری اجرا بشه ، اونا رو به یه سری کدهای دیگه تبدیل میکنن و اون کدها (توی ویندوز .exe) وقتی اجرا بشن باید پیش نیازهاشون واسه تبدیل شدن به صفر و یک وجود داشته باشه تا بتونن به صفر و یک تبدیل بشن (توسط سیستم عامل) و روی اون سخت افزار اجرا بشن !
واسه همین باید اون چیزایی که نیاز دارن رو در اختیار داشته باشن (خیلی سعی کردم ساده بگم
)
واسه همینه که اگه یه برنامه ای روی یک سیستم نصب شده باشه ، اگه فایل هاشم ببریم روی یه سیستم دیگه ، به ندرت امکان داره اجرا بشه !