[Туплю][Java]Почему Object не abstract?
В benchmark-ах, например, создают экземпляры Object.
Зачем?
у объекта таких абстрактных методов - нет, поэтому он не абстрактный.
В цикле. Чтобы узнать скорость выделения памяти и сборки мусора, например.
Ведь нет никакого смысла создавать экземпляры Object.ну это часто делают когда создают гардов, типа
final Object guard = new Object;
synchronize(guard) {
...
}
хотя конечно тут пофиг что создавать, но обжект как-то понятнее
ну это часто делают когда создают гардов, типа
code:
final Object guard = new Object;
synchronize(guard) {
...
}
хотя конечно тут пофиг что создавать, но обжект как-то понятнее
Во, хороший пример, закрываю тему.
Можно помечать класс без абстрактных методов как абстрактный.Можно, но зачем?
Тут вопрос не в том, почему можно делать Object-ы, а в том, почему надо запретить их делать, что плохого случится, если их будут делать.
хотя конечно тут пофиг что создавать, но обжект как-то понятнееНа мой взгляд понятнее как раз было бы создавать что-то типа:
public final class Guard {}
final Guard guard = new Guard ;
synchronize (guard)
{
...
}
На мой взгляд понятнее как раз было бы создавать что-то типа:Сравни с
public final class Guard {}
final Guard guard = new Guard ;
synchronize (guard)
{
...
}
final Object guard = new Object;и скажи, насколько понятней...
synchronize (guard)
{
...
}
Оставить комментарий
Gaishnik
Почему класс Object не объявлен как Abstract? Ведь нет никакого смысла создавать экземпляры Object.