תוכן עניינים:

האם אובייקט Date ניתן לשינוי ב-Java?
האם אובייקט Date ניתן לשינוי ב-Java?

וִידֵאוֹ: האם אובייקט Date ניתן לשינוי ב-Java?

וִידֵאוֹ: האם אובייקט Date ניתן לשינוי ב-Java?
וִידֵאוֹ: מדעי המחשב: כניסת משתמש אובייקט session | הנדסת תוכנה וסייבר לכיתות י,יא,יב 2024, מאי
Anonim

א אובייקט ניתן לשינוי הוא פשוט לְהִתְנַגֵד שיכול לשנות את מצבו לאחר הבנייה. לדוגמה, StringBuilder ו תַאֲרִיך הם חפצים הניתנים לשינוי , בעוד מחרוזת ומספר שלם אינם ניתנים לשינוי חפצים . לכיתה עשויה להיות א אובייקט ניתן לשינוי בתור שדה.

באופן דומה, האם מחלקה Date אינה ניתנת לשינוי ב-Java?

תַאֲרִיך לא בלתי ניתן לשינוי , אנחנו צריכים ליצור עותק הגנתי של java . util. תַאֲרִיך תוך החזרת הפניה למשתנה מופע זה. בואו ניצור אדם היפותטי מעמד שיש לו שם ו-dob בתור שני החברים היחידים.

לאחר מכן, השאלה היא, מהו אובייקט בלתי ניתן לשינוי בג'אווה? חפצים בלתי ניתנים לשינוי הם חפצים שלא משתנים. אתה עושה אותם, ואז אתה לא יכול לשנות אותם. א אובייקט בלתי משתנה של Java חייב שכל השדות שלו יהיו שדות סופיים פנימיים פרטיים. אסור לה ליישם שום מגדיר. הוא צריך בנאי שלוקח ערך עבור כל שדה בודד.

מכאן, האם אובייקטים ניתנים לשינוי ב-Java?

חפצים בלתי ניתנים לשינוי הם פשוט חפצים מדינתו (ה חפצים נתונים) אינם יכולים להשתנות לאחר הבנייה. דוגמאות של חפצים בלתי ניתנים לשינוי מה-JDK כוללים מחרוזת ומספר שלם. חפצים הניתנים לשינוי יש שדות שניתן לשנות, חפצים בלתי ניתנים לשינוי אין שדות שניתן לשנות לאחר ה לְהִתְנַגֵד נוצר.

איך הופכים אובייקט לשינוי בג'אווה?

מחלקה בלתי ניתנת לשינוי בג'אווה

  1. הכריז על השיעור כסופי כדי שלא ניתן להאריך אותו.
  2. הפוך את כל השדות לפרטיים כך שלא תתאפשר גישה ישירה.
  3. אל תספק שיטות מגדיר למשתנים.
  4. הפוך את כל השדות הניתנים לשינוי סופיים כך שניתן יהיה להקצות את הערך שלו פעם אחת בלבד.
  5. אתחול כל השדות באמצעות בנאי המבצע העתקה עמוקה.

מוּמלָץ: