оба могут быть перегружены.Перегрузка означает наличие двух или более методов или конструкторов с одинаковым именем, но разными сигнатурами.что-то вроде:
public myClass(String a){}
public myClass(Double d){}
или для методов:
public void aMethod(String s){}
publis int aMethod(Double d){
return 0;
}
edited: bebin, переопределение обычно приходит с наследованием, когдаСуперкласс реализует метод, но подкласс должен реализовать этот метод другим способом, например: в суперклассе:
public int doSomething(){
return a+2;
}
, но в подклассе:
@override
public in doSomething(){
return a*2;
}
и о конструкторе, переопределяющем следующую строку, взяты из CollinD, и я цитирую его: «Конструкторы не являются обычными методами, и их нельзя« переопределить ». Сказать, что конструктор может быть переопределен, будет означать, что конструктор суперкласса будетбыть видимым и может быть вызвано для создания экземпляра подкласса. Это не так ... у подкласса нет конструкторов по умолчанию (кроме конструктора без аргументов, если класс, который он расширяет, имеет один).явно объявить любые другие конструкторы, и эти конструкторы принадлежат ему, а не его суперклассу, даже если они принимают те же параметры, что и суперклассКонструкторы берут.
То, что вы упоминаете о конструкторах по умолчанию без аргументов arg, является лишь аспектом работы конструкторов и не имеет ничего общего с переопределением. "