Java 中定义类名的规则很宽松。名字必须以字母开头,后面可以跟字母和数字的任意组合。 长度基本上没有限制。但是不能使用 Java 保留字(例如,public 或 class)作为类名。

Java 保留字请参看下面的文章。

Java 关键字和保留字

下面举例说明到底什么样的类名是符合规则的!

如下图,以关键字 "public" 作为类名,

// 文件名为 HelloWorld.java.
// 以关键字 public 作为类名,编译器会报错.
class public
	public static void main(String[] args)
		System.out.println("Hello,Welcome to Java World!");

编译的结果如下图,

这说明,不能使用 Java 关键字作为类名。否则,会编译错误。

如下图,以特殊符号"."开头,作为类名的一部分,

// 文件名为 HelloWorld.java
// 以特殊符号作为类名的开头部分,编译出错.
class .HelloWorld
	public static void main(String[] args)
		System.out.println("Hello,Welcome to Java World!");

编译结果如下,

这说明,不能使用特殊符号"."作为类名的开头。

同理,将特殊符号"."放到类名中其余位置也是不符合规则的。

其余的特殊符号有没有符合命名规则的呢?可以动手尝试一下。

这里有两个一定是可以的,分别是下划线 "_" 和 美元符 "$"。

由于 Java 中字符使用的是 Unicode 字符集,那么可以使用中文字符作为类名吗?尝试一下,

// 文件名为 HelloWorld.java
// 以中文名称作为类名,没有任何问题.
class 你好世界
	public static void main(String[] args)
		System.out.println("Hello,Welcome to Java World!");

编译结果如下, 

编译、运行都正确。说明中文字符可以作为类名,是符合 Java 类名命名规则的。(不推荐这样做!)

一般的,类名的命名应该类似于下面的源代码,

// 文件名为 HelloWorld.java
// 类名使用英文单词的组合,见名知意。且使用驼峰命名法.
class HelloWorld
	public static void main(String[] args)
		System.out.println("Hello,Welcome to Java World!");

从类名 HelloWorld 可以看出,标准的命名规范为:类名是以大写字母开头的名词。如果名字由多个单词组成,每个单词的第一个字母都应该大写(这种在一个单词中间使用大写字母的方式称为大驼峰法 -- 即帕斯卡命名法。以其自身为例,应该写成CamelCase)。

Over!

感谢评论区小伙伴儿 “小谭同学冲冲冲” 指出错误,已经修改。

想要成为一个优秀的程序员,首先要培养良好的编程习惯,为了提高代码的可读性,必须有好的命名规范。 这篇文章是小编结合网上的很多资料整理出来的,若有不当或错误的地方,欢迎大家指正 在文章开始前,为方便阅读,先简单介绍一点知识 驼峰命名法:驼峰命名法就是当变量名或函数名是由一个或多个单字连结在一起,而构成的一识别字时,第一个单字以小写字母开始,第二个单字的首字母大写或每一个单字的首字...
​    1.类名 驼峰式命名规则 MarcoPolo ​    2.方法名 小写开头&单词首字母大写 testMethod ​    3.常量 大写单词,单词间使用_分割,含义明显 MAX_TICKET_COUNT    ​ 4.抽象类 以Abstract / Base 开始,异常类使用Exception 结束 , 测试类使用 Test结束 ​    5.boolean 类型 , 变
Java 类名命名通常遵循一些约定,以方便代码可读性和一致性。以下是一些基本的规则: 1. **驼峰式命名**(CamelCase):这是Java中最常用的命名风格,首字母大写,每个单词的首字母变成大写。例如,`ClassName` 或 `methodName`。 2. **名词化**:类通常是名词或名词短语,表示它的功能或描述。例如,`Car`、`Employee`或`OrderedList`。 3. **避免使用Java的关键字和保留字**:不要使用如`int`, `for`, `class`等词作为类名。 4. **尽量明确**:类名应清晰地反映其用途,如`CustomerManager`比`M`更具体。 5. **包名限定**:如果在包中,应在类名前加上包名,用`.`分隔,如`com.example.User`。 6. **私有类/内部类**:常以`$`符号开头,如`private class InnerClass`。 7. **接口和抽象类**:一般用`I`, `A`, `Abstract`等前缀,如`IUserService`或`AbstractDAO`. 8. **枚举类型**:通常全大写,多个单词之间用下划线连接,如`Color`。 相关问题: 1. Java中常量类名有什么特别之处? 2. 接口名称命名有哪些特殊规定? 3. 如何区分静态内部类和普通内部类的命名习惯?
超图(Hypergraph)基础——论文细品——《Learning with hypergraphs: Clustering, classification, and embedding》 忆苦思甜545: 博主,论文后续的内容会更新吗,方便的话能不能加个联系方式 一个例子搞懂单纯形法大M法和两阶段法 lcg_magic: 看你考试的学校,一般喜欢用 min 还是 max。不过两者都是大同小异,解题过程和答案正确就 OK。 一个例子搞懂单纯形法大M法和两阶段法 gfdr5: 你好,考试的时候一般用哪种方法?