java方法中值得注意的小细节

首先是方法声明

结构:[修饰符列表] 返回值类型 方法名 (参数1,参数2,参数3…) { 方法体; }

例如:

java 发现中括号 java方法括号里面放什么_java 发现中括号


[] 加中括号 说明 可以有,可以没有,可以有多个

修饰符 :

权限控制 : public , protected , private 三选一 ,

其他修饰 : static ,synchronized (abstract , final) 二选一

返回值类型 : 11种数据类型任意一种即可,如果不需要 返回值,就写 void

方法名 : 合法标识符即可

参数列表

形参 : 方法的声明处,规定传入的数据的类型以及个数

实参 : 方法的调用处,传入具体的数据

方法体 : java代码

其中需要注意一点为,return。当无返回值(采用void)时,可以加return,也可以不加return。

当确定返回值类型为某一确定类型(例如:int、short等)时,必须加上return且形式为return 值;

java 发现中括号 java方法括号里面放什么_值类型_02


因为涉及到return,用此例来具体说明。

当有return,输出结果为0 1 2 3 4;hello;当无return,输出结果为0 1 2 3 4 5 6 7 8 9;hello。

当返回值类型为int时,则必有return。

方法调用

可以在main方法中调用同一类中的不同方法;也可以在main方法中,调用不同.java文件中的方法。方法定义的时候,是不执行的,也就意味着,编写方法的时候,不需要考虑先后顺序。
方法调用 :
静态方法 : 类名.静态方法名(参数);,当前类中 类名 可以省略
成员方法 : 对象引用.成员方法名(参数);

方法分类

方法分类 : (参考java变量分类)
静态方法 : 使用static修饰的方法,并且静态方法中不能有非静态引用
成员方法 : 没有使用static修饰的方法

方法重载

如果我想在main方法中对变量a和b进行加和。而为了不区分变量a和b的数据类型,我需要编写如下代码举例

public static int m1(int a,int b){return a+b;}
 public static double m2(double a,double b){return a+b;}
 public static long m3(long a,long b){return a+b;}
 …
 当我需要使用时,我需要对比数据类型的不同,从而选择m1、m2、m3…以上代码太繁琐,进行简化;
 class a {
 public static int m(int a,int b){return a+b;}
 public static double m(double a,double b){return a+b;}
 public static long m(long a,long b){return a+b;}
 }

这样通过定义a类,将方法名进行统一编写,如果main方法和其在同一类中则可通过A.m(a,b);进行方法调用。注意这里的a b就是实参了。

java 发现中括号 java方法括号里面放什么_静态方法_03