В Яве нет значений по умолчанию для аргументов методов. То есть так нельзя:
public int method(int a, int b = 1, int c = 2) { return a + b + c; } |
Реализовывать это нужно через жопу перегрузку:
public int method(int a, int b, int c) { return a + b + c; } public int method(int a, int b) { return method(a, b, 2); } public int method(int a) { return method(a, 1); } |
Если подумать, то да, значениям по умолчанию может быть сложно ужиться в языке с такой вещью, как перегрузка методов. Однако, для большей уверенности полез в гугл → «java параметры по умолчанию». На достаточно большом количестве форумов задаётся вопрос, есть ли эти самые значения по умолчанию или нет. И да, действительно, их нет. Но что самое интересное, поголовно все отвечающие (в большинстве заслуженные дядьки) делают удивлённые o_O и спрашивают «а где такое вообще может понадобиться?».
Вот так вот, казалось бы очевидная и всем известная вещь. А вот и не очевидная и известная далеко не всем.