2009-11-23 2 views
0

Я новичок в Java, и я должен создать объект значения, (может быть, это называется отображенный объект в Java), но мой код, кажется, не работает, вот значение объекта:ява значение объекта

package ....; 

public class User { 
    private int id;  
    private int uid;  
    private String name; 

    public User() 
    { 
     // do something here 
    } 
} 

и я назначить новый объект значения, как это:

public boolean some_function() 
{    
    User u = new User(); 

    return true; // got a breakpoint here 
} 

Так что, если я закомментировать «пользователя и = новый пользователь();» Я пойду в точку останова, но если я сохраню его, как выше, он просто перестанет работать.

На боковой ноте я сохраняю оба файла в одной папке, поэтому eclipse не импортирует файл, это правильно или мне нужно импортировать его?

EDIT:

Через некоторое время я узнал, что я должен был импортировать файл вручную, я думал, что я попробовал это, но, видимо, я не сделал.

+3

Вы не предоставляете достаточно подробностей, чтобы сказать что-либо. Что значит «остановить»? Вы видите какую-либо ошибку? Что вы делаете в конструкторе 'User()'? Просьба уточнить. –

ответ

1

Деннис, если код, который вы отправили, это точный код, который вы используете, тогда это не имеет смысла - «Пользователь u = новый пользователь();» вызов будет возвращать вам новый объект User без каких-либо проблем, поскольку ваш конструктор пуст.

Чтобы продемонстрировать, что для себя, изменить свой конструктор:

public User() { 
    System.out.println("I'm inside the User constructor!"); 
} 

и позвонить some_function() функцию снова. Вы должны увидеть эту строку, напечатанную на консоли.

Учитывая то, что вы сообщаете, и код, который вы показываете, я подозреваю, что класс, содержащий some_function(), не «видит» класс пользователя - вы импортируете какой-то другой класс пользователя, а не тот, который вы создали. Являются ли два класса - классом User и классом, который содержит some_function() - в одном пакете? Если нет, то какой оператор import в верхней части класса some_function() обрабатывает импорт вашего класса User?

0

У вас нет бесконечного цикла в конструкторе User()?

+0

Прямо сейчас его пусто .. – Dennis

0

Поместите код в конструктор, например

id = 99; 

установить точку останова там.

Я не понимаю, что вы имеете в виду при импорте в Eclipse. У меня есть весь мой код в Eclipse, однако я подозреваю, что ваше приложение неправильно видит класс User. Возможно, вы даже получаете ошибку компиляции. Создайте свои пакеты и классы в Eclipse, позвольте им отсортировать каталоги для вас.

Покажите нам весь класс приложения, включая импорт пользователя.

0

Установите точку останова на User u = new User(); и войдите в конструктор, чтобы посмотреть, что он делает.