מהו אובייקט ב- Java וכיצד להשתמש בו?



אובייקט בג'אווה הוא הישות בעולם האמיתי שיש לה רכוש והתנהגות משלה. למד הכל על אובייקטים ב- Java וכיצד ליצור אותם במספר דרכים.

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

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





  1. צור אובייקטים באמצעות מילת מפתח 'חדשה'
  2. צור אובייקטים בשיטת clone ()
  3. צור אובייקטים בשיטת המחלקה newInstance ()
  4. צור אובייקטים באמצעות deserialization
  5. צור אובייקטים בשיטת newInstance () של מחלקת הבנאי

בוא נתחיל.



צור אובייקטים באמצעות מילת מפתח 'חדשה'

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

תחביר : ClassName ObjectName = new classConstructor ()



class public ObjectCreation {String FirstString = 'שלום עולם' ציבורי סטטי ריק ריק (String [] args) {ObjectCreation obj = ObjectCreation חדש () System.out.println (obj.FirstString)}}

תְפוּקָה- שלום עולם

ניתן להשתמש בשיטה זו ליצירת אובייקטים ב- Java עם כל קונסטרוקטור מהמחלקה הנדרשת אם המחלקה כוללת יותר מ -1 בּוֹנֶה .

צור אובייקטים בשיטת clone ()

מה אם האובייקט שאנו רוצים ליצור צריך להיות עותק של הקיים כבר ? במקרה כזה, אנו יכולים להשתמש בשיטת clone (). clone () הוא חלק מהמחלקה Object אך לא ניתן להשתמש בו ישירות מכיוון שהוא שיטה מוגנת.

ניתן להשתמש בשיטת clone () רק לאחר הטמעת הממשק והטיפול CloneableCloneNotSupportedException.

לכוח של ג'אווה
class הודעה מיישמת Cloneable {String FirstString Message () {this.FirstString = 'שלום עולם'} שיבוט אובייקט ציבורי () זורק CloneNotSupportedException {return super.clone ()}} class public ObjectCreation {public static void main (String [] args) זורק CloneNotSupportedException {Message FirstObj = הודעה חדשה () System.out.println (FirstObj.FirstString) הודעה SecondObj = (הודעה) FirstObj.clone () System.out.println (SecondObj.FirstString) SecondObj.FirstString = 'ברוך הבא לעולם של תכנות 'System.out.println (SecondObj.FirstString) System.out.println (FirstObj.FirstString)}}

תְפוּקָה-

שלום עולם

שלום עולם

ברוך הבא לעולם התכנות

שלום עולם

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

צור אובייקטים בשיטת newInstance () של מחלקה בכיתה

שיטה זו אינה משמשת לעתים קרובות ליצירת אובייקטים. משתמשים בשיטה זו ליצירת אובייקט אם אנו יודעים את שם הכיתה ואת ה- קונסטרוקטור ברירת מחדל הוא ציבורי באופיו. כדי להשתמש בשיטה זו ליצירת אובייקטים עלינו להתמודד עם 3 חריגים

ClassNotFoundException- חריג זה מתרחש אם ה- JVM אינו מצליח למצוא את המחלקה שעברה כוויכוח.

חריג מיידי- חריג זה מתרחש אם המחלקה הנתונה אינה מכילה קונסטרוקטור ברירת מחדל.

IllegalAccessException- חריג זה מתרחש אם אין לנו גישה למפורט מעמד .

ברגע שאנו דואגים לחריגים אלה, טוב לנו ללכת.

class ObjectCreation {String FirstString = 'שלום עולם' ציבורי סטטי ריק ריק (String [] args) {try {Class Message = Class.forName ('ObjectCreation') ObjectCreation obj = (ObjectCreation) Message.newInstance () System.out.println (obj.FirstString)} לתפוס (ClassNotFoundException e) {e.printStackTrace ()} לתפוס (InstantiationException e) {e.printStackTrace ()} לתפוס (IllegalAccessException e) {e.printStackTrace ()}}}

תְפוּקָה- שלום עולם

צור אובייקטים באמצעות deserialization

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

ObjectInputStream objectInputStream = חדש ObjectInputStream (inputStream) Classname object = (classname) objectInputStream.readObject ()

צור אובייקטים בשיטת newInstance () בכיתת Constructor

ראינו את שיטת newInstance של המחלקה Class בה השתמשנו כדי ליצור אובייקט. באופן דומה, בונה הכיתות מורכב גם משיטת NewInstance () בה ניתן להשתמש כדי ליצור אובייקטים. אחרים יכולים לבנות ברירת מחדל בעזרת שיטה זו אנו יכולים גם לקרוא לה בונים פרמטרים .

סוג נתונים SQL לתאריך
ייבא java.lang.reflect. * מחלקה ציבורית ObjectCreation {private String FirstString = 'Hello World' ObjectCreation () {} public void changeMessage (String message) {this.FirstString = message} public public static public (String [] args) { נסה {Constructor constructor = ObjectCreation.class.getDeclaredConstructor () ObjectCreation objectCreation = constructor.newInstance () objectCreation.changeMessage ('ברוך הבא לעולם התכנות') System.out.println (objectCreation.FirstString)} לתפוס (חריג e) { e.printStackTrace ()}}}

תְפוּקָה-

ברוך הבא לעולם התכנות

אלה 5 דרכים שונות ליצור אובייקטים חלקם משמשים לעתים קרובות יותר מאחרים. לכל שיטה יתרונות וחסרונות משלה. בסופו של דבר, הבחירה היא שלך.

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

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