I've seen lots of codes have declaration like Class clazz
, where does this originate from ? Is this some kind of convention ? I think 'clazz' is not even an English word , has no meaning at all , how can so many programmers name a wrong name coincidentally ?
相关问题
- Delete Messages from a Topic in Apache Kafka
- Jackson Deserialization not calling deserialize on
- How to maintain order of key-value in DataFrame sa
- StackExchange API - Deserialize Date in JSON Respo
- Difference between Types.INTEGER and Types.NULL in
clazz
has been used in Java in place of the reserved word "class" since JDK 1.0. "class" is what you want, but abbreviating or inserting junk ("a", "the", "_", etc) reduces clarity.clazz
just says class. "International" English speakers (those reading both English and American) are used to transposing 's' and 'z'.Since Java has had disclosed source and a suitable culture right from the start, worthwhile Java code and tutorials pick up the same conventions. That's one of the great things about the Java ecosystem, which I think has been an important part of its success.
It comes down to the actual compiler and its ability to distinguish what a token means within its context. However, in this particular case, it is the compiler's inability to distinguish what the token
class
means in a different context. It is a hard and fast rule thatclass
, regardless of its context, is used to denote the declaration of a class, and as such it is a reserved word. That is as simple and as low-level as it gets.If you feel compelled, you could write your own Java compiler to include a contextual rule that will allow you to use
class
as a variable name. Though I think it would be far better use of your time to just useclazz
orklass
-- it would probably be good for your health as well.Java does not have a feature that allows you to use a keyword as an identifier, unlike C# with its
@
prefix (e.g.@class
is a valid identifier.)We use clazz because class is a type header. For example, you use class here:
and here:
So unfortunately, we have to use alternate names such as clazz.