Какие проблемы или преимущества могут быть связаны с ключевым словом static this? - PullRequest
0 голосов
/ 08 ноября 2010

Я имею в виду что-то вроде ключевого слова "this", но на уровне класса, т. Е.

class Example {
    public static void main(String[] args) {
        assert Example.class == thisclass.class
    }
}

где «thisclass» - это ключевое слово, которое возвращает текущий класс, так же, как «this» возвращает текущий экземпляр.

Я могу видеть некоторые места, где это было бы полезно (например, устранение ошибок вырезания и вставки в общей форме ведения журнала), но я также вижу некоторые потенциальные проблемы (как обрабатывать подклассы и т. Д.).

Я предполагаю, что были веские причины не включать эту концепцию в Java, но каковы они? Кроме того, возможно ли сделать подобное с использованием метапрограммирования Groovy?

Ответы [ 2 ]

2 голосов
/ 08 ноября 2010

groovy имеет именно ту семантику 'this', о которой вы уже говорили.В статическом контексте «this» относится к классу, в котором находится метод.

извлечение http://groovy.codehaus.org/Differences+from+Java и поиск по «этому ключевому слову».

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

0 голосов
/ 08 ноября 2010

Раньше в С ++ существовала практика определения типа для текущего класса.Я попробовал это, действительно не нашел поразительной выгоды.

...