JAVA类名与方法名以数字开头的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA类名与方法名以数字开头的问题相关的知识,希望对你有一定的参考价值。
最近在试用润乾报表工具,他的50次预览48小时重启搞得我很蛋疼,于是反编译了下他的Jar包,于是发现了下面很诡异的现象。类名与方法名竟然是用数字打头的。有那个大神知道这是如此做到的么?本人小白,望不吝赐教
参考技术A 代码编写规范目的:能够在编码过程中实现规范化,为以后的程序开发中养成良好的行为习惯。代码编写规范使用范围:J2EE项目开发。
包命名规范:
目的:包的命名规范应当体现出项目资源良好的划分
servlet类所在包命名规范:公司名称.开发组名称.项目名称.web.servlet
例如:net.linkcn.web.servlet
自定义标签类所在包命名规范:公司名称.开发组名称.项目名称.web.tags
例如:net.linkcn.web.tags
过滤器类所在包命名规范:公司名称.开发组名称.项目名称.web.filter
例如:net.linkcn.web.filter
Action类所在包命名规范:公司名称.开发组名称.项目名称.web.struts.action
例如:net.linkcn.web.struts.action
ActionForm类所在包命名规范:公司名称.开发组名称.项目名称.web.struts.form
例如:net.linkcn.web.struts.form
Javabean所在包命名规范:公司名称.开发组名称.项目名称.web.struts.service.impl
例如:net.linkcn.web.service.impl
Javabean实现接口命名规范:公司名称.开发组名称.项目名称.web.service
例如:net.linkcn.web.service
DAO类所在包命名规范:公司名称.开发组名称.项目名称.dao.impl
例如:net.linkcn.dao.impl
DAO类所实现的接口在包中命名规范:公司名称.开发组名称.项目名称.dao
例如:net.linkcn.dao
POJO类与hbm文件所在包命名规范:公司名称.开发组名称.项目名称.dao.hbm
例如:net.linkcn.dao.hbm
全局公共类、接口类所在包命名规范:公司名称.开发组名称.项目名称.global
例如:net.linkcn.global
全局工具类所在包命名规范:公司名称.开发组名称.项目名称.util
例如:net.linkcn.util 参考技术B java是编程语言里比较难学的一门,如果有心从事编程方向的工作,最好到专业机构学习并有更多的项目实践,更贴近市场,这样更有利于将来的发展。 参考技术C 反编译的问题吧,。 或者是你把你的 字体调下 可能是L 有的字体l和1一个样追问
不是这个问题。我用JAVA-Decompiler跟jclass-lib看的结果都一样,而且文件里既有L开头的文件也有1开头的文件。本来我想用eclipse修改替换class的,结果直接提示类名不合法
本回答被提问者采纳Java标识符和关键字
Java标识符
Java标识符定义
-
包名、类名、方法名、参数名、变量名等,这些符号被称为标识符。
-
-
标识符不能以数字开头,不能是java中的关键字。
Java标识符规则
-
包名、类名、方法名、参数名、变量名等,这些符号被称为标识符。
-
标识符可以由字母、数字、下划线(_)和美元符号($)组成
-
标识符不能以数字开头,不能是java中的关键字。
Java关键字
-
下面列出了 Java 关键字。这些保留字不能用于常量、变量、和任何标识符的名称。
-
所有的关键字都是小写
-
程序中的标识符不能以关键字命名
-
const和goto是保留字关键字,虽然在java中还没有任何意义,但在程序中不能用来作为自定义的标识符。
-
true、false和null不属于关键字,它们是一个单独标识类型,不能直接使用
Java关键字按用途分组
-
用于数据类型。
用于数据类型的关键字有 boolean、byte、char、 double、 false、float、int、long、new、short、true、void、instanceof。 -
用于语句。
用于语句的关键字有break、case、 catch、 continue、 default 、do、 else、 for、 if、return、switch、try、 while、 finally、 throw、this、 super。 -
用于修饰
用于修饰的关键字有 abstract、final、native、private、 protected、public、static、synchronized、
transient、 volatile。 -
用于方法、类、接口、包和异常。
用于方法、类、接口、包和异常的关键字有 class、 extends、 implements、interface、 package、import、throws。 -
还有些关键字,如cat、 future、 generic、innerr、 operator、 outer、rest、var等都是Java保留的没有意义的关键字。
另外,Java还有3个保留字:true、false、null。它们不是关键字,而是文字。包含Java定义的值。和关键字一样,它们也不可以作为标识符使用。
关键字 | 含义 | 关键字 | 含义 |
---|---|---|---|
abstract | 表明类或者成员方法具有抽象属性 | assert | 断言,用来进行程序调试 |
boolean | 声明布尔类型的关键字 | break | 提前跳出一个块 |
byte | 字节类型 | case | 用在switch语句之中,表示其中的一个分支 |
catch | 用在异常处理中,用来捕捉异常 | char | 字符类型 |
class | 声明一个类 | const | 保留关键字,没有具体含义 |
continue | 回到一个块的开始处 | default | 默认,例如,用在switch语句中,表明一个默认的分支。Java8 中也作用于声明接口函数的默认实现 |
do | 用在do-while循环结构中 | double | 双精度浮点数类型 |
else | 用在条件语句中,表明当条件不成立时的分支 | enum | 枚举 |
extends | 表明一个类型是另一个类型的子类型。对于类,可以是另一个类或者抽象类;对于接口,可以是另一个接口 | final | 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量 |
finally | 用于处理异常情况,用来声明一个基本肯定会被执行到的语句块 | float | 单精度浮点数类型 |
for | 一种循环结构的引导词 | goto | 保留关键字,没有具体含义 |
if | 条件语句的引导词 | implements | 表明一个类实现了给定的接口 |
import | 表明要访问指定的类或包 | instanceof | 用来测试一个对象是否是指定类型的实例对象 |
int | 整数类型 | interface | 接口 |
long | 长整数类型 | native | 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的 |
new | 用来创建新实例对象 | package | 包 |
private | 私用模式 | protected | 保护模式 |
public | 共用模式 | return | 从成员方法中返回数据 |
short | 短整数类型 | static | 表明具有静态属性 |
strictfp | 用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范 | super | 表明当前对象的父类型的引用或者父类型的构造方法 |
switch | 分支语句结构的引导词 | synchronized | 表明一段代码需要同步执行 |
this | 指向当前实例对象的引用 | throw | 抛出一个异常 |
throws | 声明在当前定义的成员方法中所有需要抛出的异常 | transient | 声明不用序列化的成员域 |
try | 尝试一个可能抛出异常的程序块 | void | 声明当前成员方法没有返回值 |
volatile | 表明两个或者多个变量必须同步地发生变化 | while | 用在循环结构中 |
以上是关于JAVA类名与方法名以数字开头的问题的主要内容,如果未能解决你的问题,请参考以下文章