`
wuqiwei
  • 浏览: 21138 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

黑马程序员—函数的特性之重载

 
阅读更多

------- 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函数 且参数列表
									  一致
*/

}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics