-
Java 名称命名规范
2021-03-19 23:04:34一:Java中的名称命名规范 项目名:全部小写 包名:所有字母都小写 采用反域名命名规则,全部使用小写字母。一级包名为地顶级域名如com,二级包名为xx(可以是公司或则个人的随便),三级包名根据应用进行命名...引用尚学堂所讲的
一:Java中的名称命名规范
-
项目名:全部小写
-
包名:所有字母都小写
-
采用反域名命名规则,全部使用小写字母。一级包名为地顶级域名如com,二级包名为xx(可以是公司或则个人的随便),三级包名根据应用进行命名,四级包名为模块名或层级名; 如
com.tinyx.myapp.activities;
-
含Java类的包不能使用特殊字符
-
-
类名、接口名:所有单词的首字母大写(大驼峰命名法)
-
变量名、方法名:第一个单词首字母小写,第二个单词开始每个单词首字母大写(驼峰式命名法)
-
常量名:所有字母都大写。单词间用下划线隔开。
说明:Java采用Unicode字符集,因此标识符也可以使用汉字声明,但是不建议使用
二:四种编程命名规范
1 Android开发命名规范(基于java命名规范)
-
包名
- 第一维度使用模块,第二维度是功能
- 包名一般要求小写,并且尽量不出现下划线等字符,值得注意的是,需要用英文来命名而不是中文。例如views,widge
- 一般是功能、模块的简写,能够让包名能够一目了然,知道这个包里面放的是什么文件。例如ui、activity等
-
类名(要求对类进行注释!!!)
- java类的命名首字母要求大写,采取驼峰式命名
- java类的命名要尽量一目了然,闻其名而知其意
- 如果是一般的接口(interface)文件,则命名为Ixxx.java,
- 如果是监听文件的,一般是以On开头,例如:OnGetCityDataListener.java
-
java变量、方法等的命名(并且尽可能的给函数方法进行注释说明)
- 设置全局变量和静态变量以m、s开头
-
资源文件命名规范的重要性
- 资源文件命名以小写字母+下划线组成,名字不怕长就怕太简略,要尽可能一眼能看出该资源文件是用来干什么的,我改怎么去找到这个文件?鉴于Android开发肯定会存在很多很多的资源,所以最好能够一个一个模块的放好、并且有明显的命名去命名,方便自己也方便他人在二次开发、bug修复和后续迭代等操作中能够更快的定位到。这个步骤很繁琐,要做好不简单,见微知著,细心耐心!
2 匈牙利命名
匈牙利命名:开头字母用变量类型的缩写,其余部分用变量的英文或英文的缩写,要求单词第一个字母大写。
int iMyAge; “i”是int类型的缩写;
char cMyName[10]; “c”是char类型的缩写;
float fManHeight; “f”是float类型的缩写;3 驼峰式命名法
驼峰式命名法:(又叫小驼峰式命名法)第一个单词首字母小写,后面其他单词首字母大写。
int myAge;
char myName[10];
float manHeight;4 帕斯卡命名
帕斯卡命名(又叫大驼峰式命名法)每个单词的第一个字母都大写。
int MyAge;
char MyName[10];
float ManHeight;5 下划线命名法
下划线命名法单词与单词间用下划线做间隔
-
-
java 接口
2021-02-06 16:32:15接口就是多个类的公共规范 接口是一种引用数据类型,最重要的内容就是其中的:抽象方法 定义接口 public interface 名称{ //j接口内容 } 接口包含的内容 java7: 1.常量 2.抽象方法 java8: 在java7的基础上还有 3....接口
接口就是多个类的公共规范
接口是一种引用数据类型,最重要的内容就是其中的:抽象方法定义接口
public interface 名称{ //j接口内容 }
接口包含的内容
java7:
1.常量
2.抽象方法java8: 在java7的基础上还有
3.默认方法
4.静态方法java9: 还包括
私有方法接口使用步骤
1.接口接口不能直接使用,必须有一个“实现类”来实现该接口。
格式:public class 实现类名称 implements 接口名称{ }
2.接口的实现必须覆盖重写(实现)接口中所有的抽象方法。
3.创建实现类的对象,进行使用例子:
接口package cn.day05; public interface Mydaw { void n(); }
实现类
package cn.day05; public class Mydamin implements Mydaw{ @Override public void n() { System.out.println("这是实现方法"); } }
使用
public class code { public static void main(String[] args) { Mydamin one = new Mydamin(); one.n(); } }
结果
这是实现方法
注意事项:
1.不能直接new接口
2.如果实现类并没有覆盖重写接口中所有的抽象方法,那么这个实现类自己就必须是一个抽象类接口默认方法
从java8开始,接口允许定义默认方法
作用:
1.解决接口升级问题:在接口中添加新的默认方法不用再实现类中覆盖重写
2.可以拼接函数模型
格式:public default 返回值类型 方法名称(参数列表){ 方法体 }
使用:
1.接口的默认方法可以被实现类继承下去,通过接口实现类对象直接调用
2.接口的默认方法也可以在接口是实现类中覆盖重写接口静态方法
从java8开始,接口允许定义静态方法
格式
public static 返回值类型 方法名称(参数列表){ 方法体 }
注意:
1.不能通过接口实现类的对象来调用接口中的静态方法。使用:
通过接口名称直接调用静态方法接口:
public interface Mydaw { public static void m(){ System.out.println("这是一个静态方法"); } }
调用:
public static void main(String[] args) { Mydamin one = new Mydamin(); Mydaw.m(); }
结果:
这是一个静态方法
接口私有方法
从java9开始,接口允许定义私有方法
作用:
1.普通私有方法,解决多个默认方法之间重复代码问题
格式:private 返回值类型 方法名称 (参数名称){ 方法体 }
2.静态私有方法:解决多个静态方法之间重复代码问题
格式private static 返回值类型 方法名称 (参数名称){ 方法体 }
-
Java 抽象类和接口
2020-08-06 19:09:58抽象类 抽象类不能直接new出来,只能通过子类继承之后实现,除非子类也是抽象类。 抽象类中也可以有正常的函数以及内容,并不...接口中的所有方法默认都是 public abstract,所以接口类可以省略这两个关键字。 类可以抽象类
- 抽象类不能直接new出来,只能通过子类继承之后实现,除非子类也是抽象类。
- 抽象类中也可以有正常的函数以及内容,并不一定要求全是抽象方法。
- 抽象类中的抽象方法,只有方法的名称,没有方法的内容,需要子类重写后实现。
- 抽象类只能继承实现,但是Java只支持单继承,具有一定的限制。
- 抽象方法必须在抽象类中
接口
- 接口声明关键字:interface
- 所有方法都只有方法名称,没有具体实现。(只有名字规范!)
- 接口中的所有方法默认都是 public abstract,所以接口类可以省略这两个关键字。
- 类可以实现接口,通过implements,可以实现多继承,没有单继承的制约。
- 实现了接口的类,必须要重写接口中的方法。
- 接口不能被实例化。
-
java接口废弃注释_Java注释规范(配合EasyYapi使用)
2021-03-16 12:54:50Java注释规范(配合EasyYapi使用)类注释示例/*** 分类名称* 分类备注/描述* @module 归属项目* @author Allen* @date 2020/6/5 下午2:25* @copyright 2020 barm Inc. All rights reserved*/@RestController@...Java注释规范(配合EasyYapi使用)
类注释
示例
/**
* 分类名称
* 分类备注/描述
* @module 归属项目
* @author Allen
* @date 2020/6/5 下午2:25
* @copyright 2020 barm Inc. All rights reserved
*/
@RestController
@RequestMapping("/barm")
public class DemoController {
第一行默认是 接口 分类名称
第一行到第一个以@开头的行之前的为 接口描述
请注意规范, 类请明确 @author, @date, @copyright
@module用于分类api , 详情见下文
通过 live templates 配置类注释模板
/**
* TODO
* TODO
* @module TODO
* @author Allen
* @date $date$ $time$
* @copyright 2020 barm Inc. All rights reserved
*/
进入 live templates > 新增group > 添加模板cheader
IDEA 配置
file and code template
live template
方法注释
示例
/**
* api名称
* api描述
* @param paramA 参数 A
* @param paramB 参数 B
* @return {@link ResultVO}
*/
@PostMapping("/pathOfApi1")
public ResultVO methodName1(String paramA, String paramB){
log.info("paramA {} , paramB {} ", paramA, paramB);
ResultVO resultVO = new ResultVO();
resultVO.setCode(000);
resultVO.setMessage("success");
return resultVO;
}
第一行默认 api名称
第二行默认 api描述
入参名后+ 后表示 参数的描述
@RequestMapping 请明确请求的类型 GET, POST …
/**
* yapi接口2
* 默认使用`application/x-www-form-urlencoded`,
* 对于`@RequestBody`将使用`application/json`
* 用注释`@deprecated`来表示api废弃
*
* @deprecated 改用 {@link DemoController#methodName3(MockDtoOrVo)}
*/
@Deprecated
@PostMapping(value = "/pathOfApi2")
public ResultVO methodName2(@RequestBody MockDtoOrVo jsonModel){
ResultVO resultVO = new ResultVO();
resultVO.setCode(000);
resultVO.setMessage("success");
return resultVO;
}
默认使用application/x-www-form-urlencoded
对于@RequestBody将使用application/json
注释@deprecated来表示api废弃
不确定的返回类型
/**
* @result {@link Result}
* @result {@link Result}
*/
public Result mockString() {
...
}
IDEA 配置
直接在 方法前输入 /** 按 Enter 键出
参数注释
/**
* 字段注释
*/
private Long field1;
注释@deprecated来表示api废弃
/**
* 用注释`@deprecated`来表示字段被废弃
* @deprecated It's a secret
*/
private int field5;
使用@NotBlank/@NotNull表示字段必须
/**
* 如果使用javax.validation的话
* 可以使用@NotBlank/@NotNull表示字段必须
*/
@NotBlank
@NotNull
private String field6;
字段可能有不同类型的值
/**
* @maybe {@link UserInfo}
* @maybe {@link java.lang.String}
*/
public Object target;
@see 的使用
/**
* 使用@see来说明当前字段的取值是某个Constant
* @see DemoConstant#desc
*/
private int field3;
/**
* 当目标枚举字段与当前字段名不一致,额外指定
* @see DemoEnum#getCode()
*/
private int field4;
@link 指定类型关联具体类
使用前使用 " " 与其他字句区分开
/**
* @result {@link Result}
*/
public Result mockString() {
...
}
@module API 到 指定项目
module用于分类api
导出postman时 , 每个module将作为一个单独的文件夹
导出yapi时 , 每个module需要配置相应的token, 即对应一个yapi中的项目
默认情况下取当前模块名(单模块项目取项目名)
@ignore 忽略API
当在接口注释使用 @ignore时候 导出被忽略
/**
* @ignore
* @param param
* @return
*/
@PostMapping(value = "/pathOfApi4")
public ResultVO methodName4(@RequestParam String param){
log.info("param {}", param);
ResultVO resultVO = new ResultVO();
resultVO.setCode(000);
resultVO.setMessage("success");
return resultVO;
}
写在最后
还是老三样. 欢迎 点赞, 转发, 评论 ~
-
Java接口
2020-09-25 19:20:53接口就是多个类的公共规范 接口是一种引用数据类型,最重要的内容就是其中的抽象方法 定义一个接口的格式: public interface 接口名称 { 接口内容 } 如果是java7,那么接口中可以包含的内容有: 1.常量 2.抽象方法 ... -
java 接口入门_Java 接口入门详解
2021-03-14 22:45:13接口概念接口就是多个类的公共规范。接口是一种引用数据类型,最重要的内容就是其中的:抽象方法。如何定义一个接口的格式:public interface 接口名称 {// 接口内容}备注:换成了关键字interface之后,编译生成的... -
Java中名称规范-包、类、函数、变量、常量
2018-11-29 11:10:08Java中的名称规范: 包名:多单词组成时所有字母都小写。 • xxxyyyzzz 类名接口名:多单词组成时,所有单词的首字母大写。 • XxxYyyZzz 变量名和函数名:多单词组成时,第一个单词首字母小写,第二 个... -
java接口
2019-07-23 22:09:16接口就是多个类的公共规范。 接口是一种引用数据类型,最重要的内容就是其中的:抽象方法。 如何定义一个接口的格式: public interface 接口名称{ //接口内容 } 备注:换成了关键字interface后,... -
Java 接口要点总结
2020-12-22 08:14:23接口就是多个类的公共规范。 接口是一种引用数据类型,最重要的内容就是其中的:抽象方法。 定义一个接口的格式: public interface 接口名称 { // 接口内容 } 备注:换成了关键字 interface之后,编译生成的字节... -
Java 接口相关
2020-12-05 18:59:52接口就是一种公共的规范标准 ps:接口当中的抽象方法,修饰符必须是两个固定的关键字 Public abstract 接口不能直接使用,必须有一个 实现类 来实现该接口 接口的实现类必须覆盖重写接口中的所有抽象方法 如果实现类... -
java接口继承接口_Java面试基础回顾12-接口
2020-12-02 08:44:36类实现接口格式:修饰符 class 实现类名称 implements 接口1,接口2{}实现接口的类称为实现类,一个类可以实现多个接口。引申:类与类是单继承关系,一个类只能继承一个直接父类。类与接口是多实现关系,一个类可以... -
Java 9+接口的使用规范
2019-10-16 22:22:45在Java 9+版本中,接口的内容可以有: 成员变量其实是常量,格式: [public] [static] [final] 数据类型 常量名称 = 数据值; 注意: 常量必须进行赋值,而且一旦赋值不能改变。 常量名称完全大写,用下划线进行... -
13 java接口
2019-07-29 09:49:54接口就是多个类的公共规范 定义接口的格式 public interface 接口名称 { 接口内容; } 如果是Java7,那么接口中可以包含的内容有: 1.常量 2.抽象方法 如果是Java8,还可以额外包含有: 3.默认方法 4.静态方法 如果... -
java接口随手记录
2020-05-17 10:01:28java接口笔记 /*接口就是多个类的公共规范 接口就是一种引用数据类型,最重要的内容就是里面的抽象方法 格式: public interface 接口名称{ //接口内容 } java7包含: 1.常量 2.抽象方法 java8 包含: 3.默认方法 ... -
android接口类命名规范_android 命名规范
2021-01-11 22:44:33一、Android编码规范1.java代码中不出现中文,最多注释中可以出现中文2.局部变量命名、静态成员变量命名只能包含字母,单词首字母出第一个外,都为大写,其他字母都为小写3.常量命名只能包含字母和_,字母全部大写,... -
JAVA接口的使用方法
2020-12-21 19:51:17接口就是多个类的公共规范 接口是一种引用数据类型,最重要的内容就是其中的:抽象方法 如何定义一个接口的格式: public interface 接口名称{ //接口内容 } 如果是java 7 那么接口中可以包含的内容有: 1:常量 ... -
java接口学习_Java学习--接口
2021-02-27 14:27:091.接口:1.1定义:是多个类共同的公共行为规范,这些行为是与外部交流的通道,这就意味着接口里通常是定义一组公用方法。是一种引用数据类型,使用interface声明接口。1.2语法:public interface 接口名称{}1.3优点... -
Java接口的用法
2020-12-09 16:19:08接口就是多个类的公共规范 接口是一种引用数据类型,最重要的内容就是其中的:抽象方法 接口的定义格式: public interface 接口名称 { // 接口内容 } 备注:换成了关键字interface之后,编译生成的字节码文件仍然... -
20181226——Java接口
2018-12-27 14:41:31接口就是多个类的公共规范, 接口就是一个引用类型 如何定义一个接口的格式, public interface 接口名称{ //接口内容 } 换成了interface之后,编译生成的字节码文件依然是.java->.class 1.常量 2.抽象方法 ... -
JAVA 接口 学习笔记
2020-10-15 15:38:36接口:多个类的公共规范,是一种应用数据类型。 定义格式:public interface 接口名称{ } 接口中可以包含的内容:常量、抽象方法、默认方法、静态方法、私有方法 使用步骤: 1.接口不能直接使用,必须有一个“实现类... -
Java接口小知识
2019-03-07 15:58:31接口就是多个类的公共规范。 接口是一种引用数据类型,最重要的内容就是其中的:抽象方法。 如何定义一个接口的格式: public interface 接口名称 { // 接口内容 } 备注:换成了关键字interface之后,编译生成的... -
Java之接口
2021-03-11 17:15:26含义:接口是一种引用数据类型,是多个类的公共规范,最重要的是其中的抽象方法。 格式:换了关键字后,生成的字节码文件仍然是.java--->.class。 public interface 接口名{ //接口内容 } 接口中可以包含... -
java接口-小白学习中
2020-04-25 10:27:44java接口 接口就是多个类的公共规范。 接口是一种引用数据类型,最重要的内容就是其中的抽象方法。 一、如何定义一个接口的格式: public interface 接口名称{ //接口内容 } 备注:换成了关键字interface之后,编译...