黑马软件工程师—函数的特性之重载
黑马程序员—函数的特性之重载
------- android培训、java培训、期待与您交流! ----------
class functionoverload//函数特性之重载 { public static void main(String[] args) { int z=Getsum(5,6,7); System.out.println("z="+z); System.out.println(); print99( ); } //定义一个加法运算,获取两个整数的和。 public static int Getsum(int x,int y) { return x+y; //注意虽然写成return (x+y);也可以但是尽量写成这样吧 } //定义一个加法,获取三个整数的和。 public static int Getsum(int x,int y,int z) { return Getsum(x,y)+z; //注意这里不能像99乘法表那样写换行System.out.println(); 否则报错 } /* 在同一个类中 允许存在一个以上的同名函数 只要它们的参数个数或者参数类型不同即 可 这就是重载 它的作用就是让同一类型的函数 能够只运行一个就达到目的 避免了重 复性 那么何时用重载呢? 当定义的功能相同 但参与运算的未知内容不同 那么 这时就可以定义一个函数名称以表 示其功能 方便阅读 而通过参数列表的不同来区分多个同名函数 */ //按需要打印99乘法表 public static void print99(int num) { for (int x=1;x<=num ;x++ ) { for (int y=1;y<=x;y++ )//怎么能写成y<=9和x++呢 大哥!!不冒烟才怪 { System.out.print(y+"*"+x+"="+y*x+"\t"); } System.out.println(); } System.out.println(); System.out.println("------------------我是分割线-------------------"); } //若是不需要打印全部的乘法表 只打印一部分呢 ? 就需要在参数列表中定义一个值了 public static void print99() { print99(9); /*这样的话 在主函数里输出print99() 还是打印的99乘法表 不写这个的话 输出上面是没有结果的*/ } /* 练习: void show(int a,char b,double c){} a. void show(int x,char y,double z){}//没有 因为和原函数一样 b. int show(int a,double c,char b){}//重载 因为列表是有顺序的 参数类型就不同了 c. void show(int a,double c,char b){}//重载 因为重载和返回值类型没关系 d. boolean show(int c,char b){}//重载 因为参数个数不同 e. void show(double c){}//重载 因为参数个数不同 f. double show(int x,char y,double z){}//没有 这个函数不可以和给定函数同时存在 与一个类中 因为都叫show函数 且参数列表 一致 */ }