Я видел, что многие коды имеют декларацию типа Class clazz
, откуда это происходит? Это какая-то конвенция? Я думаю, что "clazz" - это даже не английское слово, не имеет никакого значения, как может так много программистов назвать неправильное имя по совпадению?
Почему Java-программисты любят называть переменную "clazz"?
Ответ 1
clazz
используется в Java вместо зарезервированного слова "класс" начиная с JDK 1.0. "class" - это то, что вы хотите, но сокращение или вставка мусора ("a", "the", "_" и т.д.) снижает ясность. clazz
просто говорит класс. "Международные" носители английского языка (те, кто читает как британский, так и американский английский) привыкли переносить буквы "s" и "z".
Поскольку Java с самого начала раскрыла исходный код и подходящую культуру, достойный Java-код и учебные пособия выбирают те же соглашения. Это одна из замечательных особенностей экосистемы Java, которая, я думаю, была важной частью ее успеха.
Ответ 2
Потому что они не могут использовать слово, которое они хотят использовать, которое является class
. Это зарезервировано.
Ответ 3
Это просто потому, что "класс" является зарезервированным ключевым словом, поэтому Class class
не разрешено. Поэтому вы увидите Class clazz
или Class cls
.
Ответ 4
Это сводится к фактическому компилятору и его способности отличать то, что означает токен в его контексте. Однако в этом конкретном случае неспособность компилятора отличить то, что означает токен class
в другом контексте. Это жесткое и быстрое правило, что class
, независимо от его контекста, используется для обозначения объявления класса, и как таковое это слово зарезервировано. Это так же просто и низкоуровнево, как и получается.
Если вы чувствуете себя вынужденным, вы можете написать свой собственный компилятор Java, чтобы включить контекстное правило, которое позволит вам использовать class
как имя переменной. Хотя я думаю, что было бы гораздо лучше использовать ваше время, чтобы просто использовать clazz
или klass
- это, вероятно, было бы полезно и для вашего здоровья.
Ответ 5
где это происходит из?
Я впервые увидел это в головоломках Джоша Блоха. Но я уверен, что он использовался гораздо раньше другими разработчиками. Джош Блох просто сделал его более известным.
Ответ 6
В Java нет функции, позволяющей использовать ключевое слово как идентификатор, в отличие от С# с префиксом @
(например, @class
является допустимым идентификатором.)
Ответ 7
Это просто замененное английское слово (Equavalent) по ключевому слову ключевого слова, чтобы люди поняли, что это класс. и это почти увеличивает читаемость кода
Ничего великого Логика, участвующего в этом
Ответ 8
Объявление Class clazz
популярно в мире Java, но может быть неудобно для новичков и орфологов. Я слышал, что некоторые люди говорили, что этого следует избегать в соответствии с принцип наименьшего удивления.
Как можно сказать, что объект Class
представляет тип, я лично предпочитаю объявлять такие переменные, как Class type
.
Ответ 9
Мы используем clazz, потому что класс является заголовком типа. Например, вы используете класс здесь:
public class HelloWorld {
и здесь:
Object.class.getName();
К сожалению, нам нужно использовать альтернативные имена, такие как clazz.
Ответ 10
Проще говоря, у class
есть класс, clazz
нет у clazz
.