2017-02-17 2 views
1

Я работаю с прошлым экзаменом на бумагу по информатике и немного запутался в этой части.Конструктор для замены конструктора по умолчанию?

Инструкция состоит в том, чтобы написать классную книгу (выполненную), в которой есть два поля данных (также выполняются) конструктор, который инициализирует два значения (также выполненные) и конструктор, который заменяет конструктор по умолчанию (не знаю, что это такое около). Я исследовал его и просмотрел свои лабораторные заметки, но я не понимаю, о чем они спрашивают.

Вот код

public class Book{ 
    //here's the two data fields 
    int pages; 
    String title; 

    public Book (int pageNum, String titleString){//here's the constructor to set the values 
    pages = pageNum; 
    title = titleString; 
    } 
} 
//so where's the other constructor that replaces the default constructor supposed to go? 
+0

Этот конструктор заменяет конструктор по умолчанию. Конструктор по умолчанию существует только в том случае, если в классе нет других конструкторов. См. [Спецификация языка] (https://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-8.8.9). –

+0

Вы должны правильно отложить свой код, если вы ожидаете, что люди попытаются его прочитать. – khelwood

+2

Это, пожалуй, просто плохая формулировка; они могут попросить вас явно определить нуль-arg ctor. –

ответ

0

Кажется, что они хотят что-то вроде этого:

public Book() { 
    this(0, ""); 
} 
1

Я думаю, что следующие моменты означают то же самое, что вы уже сделали.

1.Which имеет два поля данных (также сделано) конструктор, который инициализирует два значения 2.constructor, который заменяет конструктор по умолчанию (без понятия, о чем речь)

По умолчанию класс имеет конструктор по умолчанию. как это

public Book() 
{ 
} 

Если вы пишете какой-либо параметризованный конструктор, то конструктор по умолчанию будет заменен. Просматривая свой код, вы уже написали параметризованный конструктор.

Смежные вопросы