עבור לתוכן

packages - java

Featured Replies

פורסם

ניסיתי ליצור תוכנית ב-java שמצריכה מספר מחלקות, אז ניסיתי להשתמש ב-packages. ההידור עבר בהצלחה, אבל בהרצה היו בעיות בגלל זה. למישהו יש הסבר?

תודה, יפתח שלזינגר

פורסם

למה החלטת שמספר מחלקות דורשות מספר packages?

אילו בעיות היו לך בריצה?

פורסם
  • מחבר

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

אתה רוצה פרוט של הבעיות?

פורסם
  • מחבר

java.lang.classLoader.defineClass(Native Method)

java.lang.classLoader.defineClass(ClassLoader.java)

java.security.SecureClassLoader.defineClass(SecureClassLoader.java)

java.net.URLClassLoader.defineClass(URLClassLoader.java)

java.net.URLClassLoader.access$100(URLClassLoader.java)

java.net.URLClassLoader$1.run(URLClassLoader.java)

java.security.AccessController.doPrivileged(Netive Method)

java.net.URLClassLoader.findClass(URLClassLoader.java)

java.lang.ClassLoader.loadClass(ClassLoader)

sun.misc.Launcher$AppClassLoader.loadClass(launcher.java)

sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java)

פורסם

תאר לנו באופן כללי מה התוכנית שלך עושה ואילו מחלקות יש לך (וכמובן מה התפקיד שלהם)

פורסם

חוץ מזה, העתקת גם רק חלק מהשגיאה, בלי הודעת השגיאה עצמה...

כמו שגיל אמר, תסביר לנו איזה מחלקות יש לך ומה הודעת השגיאה המדוייקת והמלאה.

פורסם
  • מחבר

התוכנה שלי היא תוכנת ציור די פשוטה. יש בה ממשק בשם Shape שהוא בעצם הממשק של כל עצמי הצורה (יהיה בתוכנה אפשרויות לציור צורות שונות), יהיו הרבה עצמים שמממשים את Shape, לדוגמה line, oval ו-rect.

יש מחלקה שיורשת מ-panel והיא ה-Panel של הציור, והיא אחראית על שמירת/קריאת קובץ.

המחלקה הראשית אחראים על החלון ועל הכפתורים. היא יורשת מ-Frame, יוצרת מופע של מחלקת ה-Panel, מוסיפה את המופע לתוך עצמה, יוצרת JButtons שקוראים למתודות במופע של מחלקת ה-Panel ומוסיפה תפריטים.

אז ככה שאם אני אשים את כל המחלקות בקובץ אחד אז יהיה בלגן גדול.

פורסם

הסברת איזה מחלקות יש לך, אבל לא הסברת שום דבר על מבנה הקבצים ולא אמרת מה הודעת השגיאה המדוייקת.

באיזה package יושבת כל מחלקה? איך אתה מקמפל את הפרוייקט?

פורסם

לדעתי אתה מתבלבל בין קבצים שונים ל-packages שונים. יכול להיות לך package אחד עם המון קבצים.

פורסם
  • מחבר

גיל, אני לא. אני רוצה ליצור קובץ לכל מחלקה קובץ כדי שלא יהיה לי בלגן בקודים. אני ניסיתי לשים את כל הקבצים בחבילה אחת, אבל יש שגיאות הרצה.

אני מצרף תמונה של השגיאה המלאה ב-cmd (למחלקה הראשית ול-package קראתי בינתיים yiftach, כי עדיין לא חשבתי על שם לתוכנה):

53302902d6815.png

פורסם

הנה הבעיה שלך - קימפלת רק קובץ אחד (yiftach.java) ולא את שאר הקבצים.

פורסם
  • מחבר

אבל כשאני מנסה ליצור עצם מקובץ אחר באותו package הוא נותן לי שגיאת הידור, שהוא לא מוצא מחלקה כזאת.

פורסם

למה אתה מפריד ל-packageים בכלל? שים את כל הקוד שלך באותו package, או אפילו יותר טוב - אל תעבוד עם packageים בכלל (פשוט אל תשים את שורת ההצהרה package בהתחלה של כל קובץ).

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

פורסם
  • מחבר

אני לא מפריד ל-packages! אני יוצר package אחד, אבל לא מצליח ליצור קשר בין הקבצים שבו!

- - - תגובה אוחדה: - - -

סתם דוגמה:


package package12321;
//class1
public class class1 {
public class1 () {
System.out.println("hello!");
}
}


package package12321;
//class2
public class class2 {
public static void main (String [] args) {
class1 c = new class1();
}
}

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים