java 的类与标识符

     java 中的每个程序至少一个自定义类。这些类称为程序员自定义类或用户自定义类。在java  中是以class 引导一个类的定义的。其后是类名。习惯上java 的类名是以大写字母开始,并且每个单词的第一个字母大写(如:SampleClassName)。类的名称为标识符。

    标识符是以一系列字母、数字、下划线(_)和$符号构成的。但不能以数字开头与含有空格。如Welcome、$value、_value、m_InatField和Button7等到是有效的标识符。

#######

对public类而言,文件名与类名在拼写及大小写上不一致是一个错误。也就是说,一个文件不能包含两个或两个以上的public类。

<think>嗯,用户问的是“.java标识符”。首先,我需要确认他们的问题到底是什么。可能有两种理解:一种是关于Java文件的命名规则,另一种是Java标识符的命名规范。因为用户提到了“.java”,所以更可能是指Java源文件中的命名规则。 接下来,我要回想Java的命名规范。记得Java名应该遵循大驼峰式命名法,也就是每个单词的首字母大写,没有下划线或空格。例如,MyClass、StudentInfo这样的。同时,名必须以字母、美元符号$或下划线_开头,后面可以是字母、数字、$或_。但通常不建议使用$,因为编译器会用它生成内部,可能会引起混淆。 另外,用户可能混淆了名和标识符标识符Java中包括名、方法名、变量名等,所以需要明确区分。如果是名,必须和文件名一致,如果是内部,可能会有不同的处理。这里需要强调名的具体规则,以及作为标识符的通用规则,比如不能是关键字,区分大小写等。 还要考虑用户可能的错误用法,比如使用数字开头、包含非法字符等,这时候需要给出例子说明哪些是合法的,哪些是不合法的。例如,3DClass是不合法的,因为以数字开头,而Class3D是合法的。 另外,可能需要提醒用户注意编码规范和最佳实践,比如名应该是有意义的名词,使用全单词而不是缩写,保持简洁但具有描述性。例如,用Car而不是C,或者用StudentRecord而不是StuRec。 用户可能是在学习Java的基础,所以需要把概念讲清楚,避免混淆。比如,区分名和文件名,以及public必须文件名一致,非public可以有不同名,但通常不建议这样做。 最后,总结关键点,确保用户能够清晰理解,并给出示例帮助记忆。同时,可以提及常见的错误,帮助他们避免在实际编码中犯错。</think>#### Java标识符命名规范详解 --- ### 一、核心规则(强制遵守) 1. **命名结构** - 必须使用 **大驼峰式(Upper Camel Case)** - 示例:`StringBuilder`,`StudentService` - **错误示例**:`studentService`(小驼峰),`STUDENT_SERVICE`(全大写) 2. **字符范围** - 首字符:`[a-zA-Z_$]`(字母/下划线/美元符号) - 后续字符:`[a-zA-Z0-9_$]` - **数学表示**: $$ \text{合法名} = (\text{A-Za-z}\_$)\{\text{A-Za-z0-9}\_$\}^* $$ 3. **长度限制** - 理论最大长度:64KB(受JVM常量池限制) - 推荐长度:3-30个字符(例如`User`,`PaymentGateway`) --- ### 二、特殊场景处理 #### 1. 内部命名 ```java public class Outer { // 内部自动生成:Outer$Inner.class class Inner { // 编译器自动添加外部引用 } } ``` - **文件映射**:编译后生成`Outer$Inner.class`文件 #### 2. 匿名处理 ```java Runnable task = new Runnable() { // 生成Outer$1.class public void run() { System.out.println("Anonymous"); } }; ``` --- ### 三、典型错误案例 | 错误命名 | 错误型 | 修正方案 | |--------------------|--------------------------|---------------------| | `3DModel` | 数字开头 | `ThreeDModel` | | `class` | 使用关键字 | `Course` | | `User-Info` | 包含非法字符(-) | `UserInfo` | | `employee_service` | 蛇形命名法 | `EmployeeService` | | `XMLHttpRequest` | 首字母缩写应全大写 | `XMLHTTPRequest` | --- ### 四、行业最佳实践 1. **语义明确性** - **推荐**:`DatabaseConnectionPool` - **
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值