天天看点

Java学习_Overload

/*
目的:练习使用函数的重载,熟练掌握函数的重载过程,使用重载来调用函数;
需求:使用重载函数来产生不同的花型图形,给定一个15阶的菱形;分别产生¥ % &
思路:通过for循环来产生一个菱形,图形,通过,函数重载打印出不同花型的菱形;
步骤:1,通过for循环来产生15阶菱形;
		2,通过函数调用打印出一个菱形;
		3,通过重载分别产生不同的花型菱形;
*/
/*
重载overload
概念:在同一个类中,允许存在一个以上的同名函数,只要他们的参数或者参数类型不同即可(也即参数列表不同即可)
重载的特点:与返回值的类型无关,只看参数列表;
重载的好处:方便于阅读,优化程序设计;
为什么需要重载?
在对函数进行命名时,函数名用于体现函数的功能,如果功能一致,为了减少代码重复,或者便于阅读,可以使用函数重载;
参与运算的未知内容不同,可只定义一个函数名称,以表示其功能,方便阅读,通过参数列表的不同来区分不同的函数!

注意,不用返回值类型的同名函数不同存在于同一个类中个eg:void show() 与 double show()不能同时存在于同一个类中!
*/

class Overload
{
	public static void main(String[] args)
	{
		 show();		//无参类型
		 show('@');		//有参类型
	}

	public static void show(char ch)	//定义一个有参的函数
	{	
		int x,y;
		for (x = 1;x<=15 ;x++ )	//第一层控制行数
		{
			for (y = 1;y<=15 ;y++ )//第二层控制列数
			{
				if((x+y>8) && (x+y<24) && (x-y<= 7) && (y-x<=7) )
					//满足条件则产生图形;
					System.out.print(ch+"  ");
				else
					System.out.print("   ");	//	不满足条件则产生空格
			}
			System.out.println();				//每一行结束后换行
		}
	}

	public static void show()	//函数重载过程,使用无参重载,内部调用有参函数;
	{
		show('#');		//调用有参函数;
	}
}

/*
运行结果:
运行show();函数默认调用无参类型

                     #
                  #  #  #
               #  #  #  #  #
            #  #  #  #  #  #  #
         #  #  #  #  #  #  #  #  #
      #  #  #  #  #  #  #  #  #  #  #
   #  #  #  #  #  #  #  #  #  #  #  #  #
#  #  #  #  #  #  #  #  #  #  #  #  #  #  #
   #  #  #  #  #  #  #  #  #  #  #  #  #
      #  #  #  #  #  #  #  #  #  #  #
         #  #  #  #  #  #  #  #  #
            #  #  #  #  #  #  #
               #  #  #  #  #
                  #  #  #
                     #
                     
运行show('@');函数默认调用无参类型

                     @
                  @  @  @
               @  @  @  @  @
            @  @  @  @  @  @  @
         @  @  @  @  @  @  @  @  @
      @  @  @  @  @  @  @  @  @  @  @
   @  @  @  @  @  @  @  @  @  @  @  @  @
@  @  @  @  @  @  @  @  @  @  @  @  @  @  @
   @  @  @  @  @  @  @  @  @  @  @  @  @
      @  @  @  @  @  @  @  @  @  @  @
         @  @  @  @  @  @  @  @  @
            @  @  @  @  @  @  @
               @  @  @  @  @
                  @  @  @
                     @


*/