new !
בעת הגדרת משתנה, ניתן להגדירו רק ע"י הטיפוס שלו, כגון myClass a. לפי מה שאני יודע, הגדרה כזו, ללא new, רק מצהירה על המשתנה, אבל לא מקצה לו זכרון. כלומר, לאחר הפקודה myClass a יש לי בתוכנית משתנה בשם a מסוג myClass, אבל עדיין לא ניתן להשתמש בו (התוכנית תעוף), מכיוון שהוא אינו מצביע לשום מקום ולשום Instance של myClass. רק לאחר שנבצע ()a = new myClass, אך יוקצה לו זכרון מה Heap וניתן יהיה להשתמש בו. למען הדיוק, אם אינני טועה, למשתנה a מוקצה זכרון במחסנית, ושם שמורה כתובת הזכרון המוקצה ל Insance עצמו, ב Head. בנוסף, כאשר מגדירים משתנה "פשוט" כגון int, אין צורך לבצע new, מכיוון שזהו משתנה בעל גודל ידוע, וההקצאה (מהמחסנית) מתבצעת אוטומטית. ראשית כל, תקנו אותי אם טעיתי במשהו שכתבתי למעלה, זה השאלה העקרית
השאלה המישנית שלי היא, האם גם string נחשב משתנה "פשוט", שאין צורך ב new ? (מכיוון שאני רואה שנית להגדירו, ומיד השתמש בו, ללא new)
בעת הגדרת משתנה, ניתן להגדירו רק ע"י הטיפוס שלו, כגון myClass a. לפי מה שאני יודע, הגדרה כזו, ללא new, רק מצהירה על המשתנה, אבל לא מקצה לו זכרון. כלומר, לאחר הפקודה myClass a יש לי בתוכנית משתנה בשם a מסוג myClass, אבל עדיין לא ניתן להשתמש בו (התוכנית תעוף), מכיוון שהוא אינו מצביע לשום מקום ולשום Instance של myClass. רק לאחר שנבצע ()a = new myClass, אך יוקצה לו זכרון מה Heap וניתן יהיה להשתמש בו. למען הדיוק, אם אינני טועה, למשתנה a מוקצה זכרון במחסנית, ושם שמורה כתובת הזכרון המוקצה ל Insance עצמו, ב Head. בנוסף, כאשר מגדירים משתנה "פשוט" כגון int, אין צורך לבצע new, מכיוון שזהו משתנה בעל גודל ידוע, וההקצאה (מהמחסנית) מתבצעת אוטומטית. ראשית כל, תקנו אותי אם טעיתי במשהו שכתבתי למעלה, זה השאלה העקרית