方法主要是对代码的复用,可以让代码更简洁,更易维护。但方法并不会提高代码运行效率。
结构
public static int function(int a){...}
修饰符
- 上面的public表示此方法为公开方法,顾名思义可以被公开访问。可替换为private表示私人方法,只能在内部调用。只在内部自行调用的话建议用private。
- static是将此方法声明为静态方法,若类名为TestClass,在类外可以这种形式调用:TestClass.function();。若不添加static则在类外只能通过对象来调用。
返回值
int代表此方法的返回值类型。
返回值是方法运行完后得到的结果,上面的int可替换为其他数据类型,如Double、Boolean,也可以说引用数据类型。
具有返回值的方法必需在括号内的方法体的最后面加上return语句,如return num; 上面的返回值是int类型,那么此处的num也必须是int类型。
另外,方法也可用void声明方法没有返回值,而且这样的方法可以用 return; 来结束方法,可在分支语句中使用。
方法名
上面的function代表方法名,方法名应见名知意,且遵循小驼峰命名规范,如selectNameById。
参数
括号中的表示方法需要的参数,方法的参数可以有也可以没有,根据方法需求来定。
int ... a:表示多个int类型参数,两个、三个等等,个数不定。
重载
方法名相同,参数不同就是重载。
参数不同包括:
- 参数类型不同
- 参数个数不同
- 参数类型顺序不同
如果只是参数名不同就不是重载,而重载跟返回值无关。
运行顺序
若在某处调用方法,如
int a=function(b);
那么只有在function方法中的方法体运行完之后才会运行这句代码。
内存分配
方法被调用时,会压入栈中,栈是后进先出的,当方法运行完后就会在栈中移除。