Предотвратить некоторый класс для переопределения метода класса Object в Java, запутавшись в ответе - PullRequest
1 голос
/ 29 марта 2012

Я нахожу вопрос на некоторых сайтах, например: "Не могли бы вы запретить кому-либо переопределять класс java.lang.Object?"но ни один ответ я не мог понять.Как я думаю, это может быть сделано -

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

Ответы [ 2 ]

7 голосов
/ 29 марта 2012

Создайте класс FinalObject extends Object, который переопределяет каждый из методов Object и делает их final.

class FinalObject extends Object {
  public final int hashCode() { return super.hashCode(); }
  public final int equals(Object o) { return super.equals(o); }
  ...
}
3 голосов
/ 29 марта 2012

Поиск модификатора «final» для классов и методов.

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