کلمه void یعنی تابع خروجی نداره مثل زبان c و میشه معادل procedure در زبان دلفی یا پاسکال.
اما در مورد static: ما دو تا روش برای ایجاد تابع یا متغیر در class داریم. 1- Instance methods : وقتی یه متغیر جدید تعریف میکنی و کلاس مورد نظر خودتو از طریق دستور new توی اون ایجاد میکنی در حقیقت یه کلاس با instance جدید برای اون متغیر تعریف کردی. یعنی یه رشته از حافظه که به اندازه حجم اطلاعات اون کلاس مورد نظر هست allocate میشه و متغیرهای اختصاصی اون کلاس مقدار دهی اولیه میشند. آدرس ابتدایی این رشته حافظه میشه همون instance کلاس جدید. بذار مثال بزنم واست. یه سری توابع هستند که به هم ربط دارند مثلا یه کلاس stream که برای خوندن فایل هست رو در نظر بگیر، یه تابع میاد اسم فایل رو میگیره و اونو باز میکنه و یه تابع دیگه میاد محتوای اونو در اختیارت میذاره، بنابراین این توابع باید حافظه هایی(همون متغیر) داشته باشند که هر دو بهش دسترسی داشته باشند (مثل اسم فایل). از طرفی ممکنه در آن واحد بخوای 4 تا فایل رو باز کنی و همزمان هم بخونی، اگه این حافظه از یک مکان باشند با هم تداخل ایجاد میکنند. برای رفع مشکل از روش instance استفاده میشه. یعنی هر کلاس جدید اطلاعات مربوط به خودشو در instance جدید ذخیره میکنه و با فراخوان توابع اون کلاس، توابع به متغیر های مربوط به instance کلاس خود دسترسی پیدا میکنند. 2- Static methods : این توایع یا متغیر ها نیازی به instance ندارند و فقط یه بار اون هم زمان بالا اومدن فایل اجرایی allocate میشند و در کل برنامه یه مکان حافظه در اختیار دارند یعنی مقدار متغیر static در همه جای برنامه یکی هست. قابل پاک کردن از حافظه نیستند. به محض این که کلاس مورد نظرتو import کنی حافظه مورد نظر برای متغیرهای static ایجاد میشه. بدون ایجاد object جدید برای کلاس مورد نظر قابل دسترسی هست و نیازی به ایجاد object جدید نیست. توابع static هم نمیتونند از متغیرها و توابع instance استفاده کنند و حتما باید از static استفاده کنند. تابع static نمیتونه به this یا super ارجاع داده بشه و در صورت استفاده از اون با ارور کمپایلر مواجه میشید.
خوشبختی ما در سه جمله است ... تجربه از دیروز , استفاده از امروز , امید به فردا ... ولی ما با سه جمله دیگر زندگی مان را تباه میکنیم حسرت دیروز , اتلاف امروز , ترس از فردا ... دکتر علی شریعتی
خوشبختی ما در سه جمله است ... تجربه از دیروز , استفاده از امروز , امید به فردا ... ولی ما با سه جمله دیگر زندگی مان را تباه میکنیم حسرت دیروز , اتلاف امروز , ترس از فردا ... دکتر علی شریعتی