| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > HELP! "public" metody iz drugogo classa nedostupny |
| Автор: Гость_Sergey 20.5.2005, 13:07 |
| Proshu pomoch', eto ochen vajno. Prostite za latinicu, ya ne v Rossii prosto. Situaciya takaya: v odnom package est' 2 classa. Odin ispol'zuet drugoy (to est' ob'ekt etogo classa). Priviju kraten'ko pervyi class. Tolko chast', no suti eto ne menyaet. package TestGeneration; public class MatOfRec { private double[][] matrix; public MatOfRec() { matrix = new double[6][7]; matrix[0][0]=3; matrix[0][1]=2; matrix[0][2]=0; matrix[0][3]=2; matrix[0][4]=1; matrix[0][5]=0; matrix[0][6]=1; //i tak dalee... } public String toString() { String strRet="\t\t"; for (int i=0;i<6;i++) { for (int j=0;j<7;j++) { strRet=strRet+"\t"+matrix[i][j]); } strRet=strRet+"\n"; } return strRet; } } Drugoy class sozdaet ob'ekt etogo tipa i hochet ispolzovat' ego metody. Skajem, toString(). Konechno je, vnutri classa vse ok. Skajem, mojno propisat' vyzov etogo metoda v konstruktore, vse super. Potomu chto idet neposredstvennoe obrashenie k peremennoy. No esli ya ispol'zuyu accessor get iz main ili iz drugogo metoda, to poluchayu Exception in thread "main" java.lang.NullPointerException. package TestGeneration; public class TestGenerator { private MatOfRec matrix; public TestGenerator() { MatOfRec matrix = new MatOfRec(); System.out.println(matrix.toString());// rabotaet System.out.println(getMatrix().toString());//ne rabotaet } public MatOfRec getMatrix() { return matrix; } public static void main (String s[]) { TestGenerator tg=new TestGenerator(); tg.setAmountTestItem(10); System.out.println(tg.getMatrix().toString());//ne rabotaet } } Ya znayu, eto glupaya oshibka i u nee est' ochen' prostoe reshenie, No ya zabyl. Proboval CAST - ne rabotaet. Proshu, ob'yasnite, v chem tut delo. Ogromnoe spasibo! |
| Автор: batigoal 20.5.2005, 13:22 |
| Видимо, все дело в этой строке (не проверял): MatOfRec matrix = new MatOfRec(); Должно быть так: matrix = new MatOfRec(); |
| Автор: Guest 20.5.2005, 13:23 | ||
в конструкторе вместо:
|
| Автор: kashka 20.5.2005, 13:24 |
| Я вот даже забыла зарегистрироваться, а все равно Lamer George раньше успел. |
| Автор: batigoal 20.5.2005, 13:29 |
| Проверил - так и есть. Пара замечаний по "процедурным вопросам": 1) при вводе текста можно пользоваться флажком "транслит", 2) а для кода - кнопкой "Код". |
| Автор: Гость_Sergey 20.5.2005, 13:35 |
| BLIN, SPASIBO OGROMNOE!!!!!!! Eto menya tak zatormozilo. Teper' rabotaet. Znal je, chto reshenie elementarnoe... Udivitel'no, tak bystro poluchit' otvet! Spasibo, lyudi russkie!!! |
| Автор: AntonSaburov 20.5.2005, 14:08 | ||
Заходи еще - будем рады. |