Конструктор Java не определен? - PullRequest
5 голосов
/ 11 сентября 2010

Хорошо, я работаю над заданием для школы, и я установил свой основной класс, а также другой класс, который называется Transaction.В моем основном классе у меня есть:

Transaction t = new Transaction();

И Transaction подчеркнут: он говорит, что конструктор не определен.ПОЧЕМУ?!

Класс Transaction выглядит следующим образом:

public class Transaction {

private String customerNumber, fName, lName, custAddress, custCity;
private int custZip, custPhone;

/** Constructor*/
public Transaction(String a, String b, String c, String d, String e, int f, int g){
    this.customerNumber = a;
this.fName = b;
this.lName =c;
this.custAddress = d;
this.custCity = e;

}

Похоже, он должен работать, но это не так.Даже когда я подключаю кучу переменных в то место, где я создаю новый объект Transaction в main, он все равно говорит undefined.Кто-нибудь, пожалуйста, помогите!

Ответы [ 4 ]

8 голосов
/ 11 сентября 2010

В вашем классе нет определения конструктора по умолчанию.

Когда вы предоставляете определение хотя бы одного параметризованного конструктора, компилятор больше не предоставляет вам конструктор по умолчанию.

5 голосов
/ 11 сентября 2010

Это потому, что вы не объявили конструктор без аргументов.

Если у вас вообще не определен конструктор, существует конструктор по умолчанию, для которого автоматически не определены аргументы.

Но теперь, когда вы объявили конструктор с аргументами, вам нужно передать их или объявить другой конструктор без аргументов.

4 голосов
/ 11 сентября 2010

Вам нужно сделать конструктор по умолчанию (тот, который не принимает аргументов).

0 голосов
/ 11 сентября 2010

Те парни, которые сказали, что у вас нет конструктора по умолчанию, потому что вы закодировали конструктор с аргументами, думают о C ++. Это верно для C ++, но не для Java. Нет такой вещи как конструктор по умолчанию. Вы должны написать любой конструктор для своего класса. Вам не нужно иметь конструктор, если вы не собираетесь создавать какие-либо объекты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...