java怎么定义方法:固定语法结构搭配权限修饰符即可编写可调用代码
对着电脑敲了快半小时,卡在哪一步都摸不清,查资料时满屏零散片段,只能自己一段段试错,才算把java怎么定义方法整套写法理顺,起初总分不清返回值和void该放哪,参数列表的括号也经常漏写。
刚上手写代码那会,总习惯把变量声明的格式套到方法上,直接把方法名写在最前面,修饰符丢在末尾,编译器一运行就飘红报错,控制台堆着一堆符号找不到的提示,反复删减代码块,删到只剩最简单的结构,才发现修饰符必须排在整行最开头,少一个都无法正常编译。
public、private、static这几类修饰符摆放顺序试过乱序排列,static随便插在返回值后面时,程序直接抛出语法异常,调整多次后摸清,访问权限修饰符放在首位,静态标识紧随其后,再写返回值类型,这一段的顺序不能随意调换,之前图省事颠倒位置,白白耗掉不少调试时间。
void是最容易忽略的标识,写无返回逻辑的方法时经常忘记填写,只留下方法名和括号,光标停在代码行末尾,编辑器直接标红波浪线,一开始还以为是括号少了配对符号,逐字符核对才反应过来,没有数据返回就必须写void占位,不能空着那一处位置。
括号里面的参数也踩过不少无关紧要的失误,只写参数名称不标注数据类型,比如直接写(name,age),运行瞬间报错,后来照着可运行的示例仿写,才明白每个参数前面都要带上对应类型,多个参数之间用逗号隔开,逗号后面不用额外添加空格也能正常识别,只是排版看着拥挤。
大括号成对包裹方法内部逻辑,曾经写完方法头只写一半左大括号,往下写业务代码忘记补右括号,整个类文件全部报错,整段代码失去层级识别,得一行行拖拽光标查找缺失的符号,从那之后写完方法头先把一对大括号补齐,再往中间填充执行语句。
```java
public static void test(){
System.out.println("无参无返回方法");
}
```
这段极简代码是反复删减调试后留存下来的模板,权限、静态、返回值、方法名、参数、代码块六个组成部分完整覆盖,复制到类里面直接运行不会报语法错误,去掉任意一块内容都会出现编译问题。
带返回值的写法又多一层操作,定义int、String这类类型代替void后,方法内部必须搭配return语句,早前写计算数字的方法,标注int返回类型却没写return,控制台持续提示缺少返回语句,补上return带出对应数值,代码才顺利跑通,return后面的数据类型要和方法头部声明保持统一,写错类型依旧会报错。
```java
public static int sum(int a,int b){
return a+b;
}
```
这个求和方法是当时用来测试参数与返回值搭配的案例,两个int参数传入,运算后返回相加结果,调用时直接接收数值使用,参数数量没有硬性限制,零个、多个都符合语法规范,只是参数过多会让代码可读性变差。
在同一个类里反复新增、删除不同格式的方法,一会漏static修饰符导致无法直接main方法调用,一会参数类型写错造成类型不匹配,来回调整十几版代码,才形成固定书写顺序,先定访问权限,再判断是否需要静态修饰,确定有无返回数据,命名方法,补充参数列表,最后填充执行逻辑。
main方法本身也是java内置的标准方法,格式固定不能改动,public static void main(String[] args),当初修改里面的参数名称、调换修饰符顺序,整个程序直接无法启动,对比普通自定义方法能明显看出,自定义方法只需要遵循基础语法,不用强制固定参数内容,灵活度更高。
敲到深夜的时候,删掉所有测试代码重新从头写,按照梳理出来的结构一次性写出三个不同类型的自定义方法,无参无返回、有参无返回、有参带返回,全部一次性编译通过,没有弹出任何报错提示,之前零散记在记事本里的碎片语法,在这次完整编写后串成连贯的书写逻辑。
关掉开发工具时,桌面文档里只存下两段最简示例代码,别的繁杂笔记全都清空,不用记长篇理论,照着固定顺序填充内容,就能完整完成java方法的定义,之前折腾那么久,无非是没把语法每一段的固定位置记牢。