Указание возврата по умолчанию при объявлении абстрактного метода - PullRequest
0 голосов
/ 26 января 2012

У меня есть следующие классы

Интерфейс:

public abstract class MyAbstractClass
{
  public abstract boolean checkSomething();
}

Класс, наследующий абстрактный класс:

public class MyClass extends MyAbstractClass
{
  public boolean checkSomething()
  {
    return true;
  }
}

Когда я создаю MyClass в затмении, checkSomething() метод создается автоматически, но со значением false по умолчанию.Есть ли способ указать в определении абстрактного метода, какой тип возвращаемого значения по умолчанию должен быть?

Ответы [ 3 ]

3 голосов
/ 26 января 2012

Посмотрите на шаблоны кодов затмения

Кроме этого, вы можете создать свои пользовательские аннотации , чтобы добиться того же.

3 голосов
/ 26 января 2012

Нет, в Java нет такого понятия, как «возвращаемое значение по умолчанию». Каждая реализация должна решить это для себя - это всего лишь метод шаблонов, который использует Eclipse, который случайно выбрал false. Учитывая, что вы все равно должны заменить тело метода, я не вижу в этом особой проблемы.

Если реализация по умолчанию "just return true" является разумной, это звучит так, как будто checkSomething не должно быть абстрактным в первую очередь - это то место, где реализация по умолчанию будет жить, и будет переопределено классами, желающими предоставить более конкретные поведение.

0 голосов
/ 31 мая 2016

Вы не можете иметь тело метода в объявлении абстрактного метода.Поэтому нет способа указать возвращаемое значение по умолчанию в абстрактном методе.Это не зависит от шаблона IDE.

...