שאלה ב-JAVA

GilBates

New member
שאלה ב-JAVA

יש לי מחלקה שהגדרתי כך (שימוש ב- Generics ע"מ לאפשר להגדיר מטריצה מכל סוג שהוא):
public class MyMatrix<E>{ //extends AbstractList<E> protected E[][] matrix; protected int size;​
ומוגדרות מספר מתודות כמו להדפיס, וכו'. אני רוצה להגדיר מחלקה שיורשת ממנה חדשה SpecialMatrix שהיא תאתחל את המטריצה בערכים עולים 1,2..
public class SpecialMatrix extends MyMatrix<Integer> {// not working // only thing work: // public class SpecialMatrix{ // MyMatrix<Integer> mat; // ... // but it is not what I want private void init(){ int i = 0, j = 0, x = 0; while (i < size && j < size) { matrix[j] = x++; // I get ClassCastException here!!! j++; if (j % size == 0) { j = 0; i++; } } } }

אני לא מצליח לעשות כך - האם למישהו יש רעיון?אולי טעיתי בהצהרות ע"מ לנסות להבהיר - אני קודם כל יוצר מחלקה כללית גנרית שמכילה מטריצה כללית - MyMatrix יש לי יישום ספציפי (אותו אני רוצה לבצע במחלקה שיורשת עבור type של Integer) שבו אני רוצה לאתחל את המטריצה במספרים עולים תודה מראש גיל
 
למעלה