函数在Java世界中又被称为方法(methods)是用来操作类的成员属性(attributes)的若是没有方法的存在我想属性只是一堆无聊的垃圾数据所以说操作的存在才使得这些属性有了存在的意义二者正如称不离砣砣不离称那样亲密无间 格式 修饰符 返回值类型 函数名(参数类型 形式参数 参数类型 形式参数 …) { 执行语句 return 返回值 } 如一段代码示例 public int getSum(int x int y){ return x+y*; } 本文只简单提下函数的格式当然函数的重载覆盖以及构造函数静态函数等等重点的概念会在以后慢慢补充完整函数的其他一些知识点可以参考下面这篇文章《Java函数的基本知识》 在调用方法的时候若方法的自变量个数先无法决定该如何处理即是多个形式参数的情况若客户端一下子需要个同类型的形式参数不能写个吧!在JDK之前可以用数组来解决自变量个数无法确认的方法调用 JDK可以说是一个实现了java多种性能跨越的一个版本这又是一个编译程序蜜糖的例子 看下面的代码 package comivantianCoreFengZhuang; public class Variable { public static int sum(int… numbers){ int sum = ; for(int num :numbers){ sum += num; } return sum; } public static void main(String[] args) { Systemoutprintln(Variablesum()) Systemoutprintln(Variablesum()) Systemoutprintln(Variablesum()) } } /* 执行结果如下所示 */ 在主函数中的三个输出语句就可以看出来优势之所在 从反编译的角度来看这段程序编译蜜糖所带来的效果 public static transient int sum(int ai[]){ int i = ; int ai[] = ai; int j = ailength; for(int k=;k<j;k++){ int l = ail[k]; i+=l; } return i; 而在上面三个输出语句中对调用不定长度自变量的客户端而言展开后也是一个数组如代码所示 Systemoutprintln(sum(new int[]{})) 若函数定义过程中遇到需要定义不定长度的形式参数的时候需要遵循以下规则定义否则编译不过去 不定长度形式参数若有必须只能有一个方法声明中的不定长形式参数必须放在参数列表中的最后一个如下面的定义 若形式参数是对象也遵循上面的原则 如代码 public void some(int argString argsint… args){ //method blocks } public void some(Wife… SanQiSiQie){ //声明不定个数的老婆 } 至此不定长度变量(形式参数)结束望指正 |