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标识符定义

  1. 包名、类名、方法名、参数名、变量名等,这些符号被称为标识符。

  2. 标识符可以由字母、数字、下划线(_)和美元符号($)组成

  3. 标识符不能以数字开头,不能是java中的关键字。

Java标识符规则

  1. 包名、类名、方法名、参数名、变量名等,这些符号被称为标识符。

  2. 标识符可以由字母、数字、下划线(_)和美元符号($)组成

  3. 标识符不能以数字开头,不能是java中的关键字。

Java关键字

  1. 下面列出了 Java 关键字。这些保留字不能用于常量、变量、和任何标识符的名称。

  2. 所有的关键字都是小写

  3. 程序中的标识符不能以关键字命名

  4. const和goto是保留字关键字,虽然在java中还没有任何意义,但在程序中不能用来作为自定义的标识符。

  5. true、false和null不属于关键字,它们是一个单独标识类型,不能直接使用

Java关键字按用途分组

  1. 用于数据类型。
    用于数据类型的关键字有 boolean、byte、char、 double、 false、float、int、long、new、short、true、void、instanceof。

  2. 用于语句。
    用于语句的关键字有break、case、 catch、 continue、 default 、do、 else、 for、 if、return、switch、try、 while、 finally、 throw、this、 super。

  3. 用于修饰
    用于修饰的关键字有 abstract、final、native、private、 protected、public、static、synchronized、
      transient、 volatile。

  4. 用于方法、类、接口、包和异常。
    用于方法、类、接口、包和异常的关键字有 class、 extends、 implements、interface、 package、import、throws。

  5. 还有些关键字,如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类名与方法名以数字开头的问题的主要内容,如果未能解决你的问题,请参考以下文章

Java标识符和关键字

Java中 常量与变量

JAVA——各类命名规则和规范

类和对象

魔法方法

python_基础