* @笔记
* 方法重载
* 一、例题:编写一个类,可以接收两个整数,并返回最大数。
* 二、理解:定义一个类,在类里编写两个方法,分别返回不同类型的值。
* 三、概念:方法重载就是类的同一种功能的多种实现方式,具体采用哪种,根据调用者给出的参数。
* 四、构成重载的要求:
* 1.方法名相同。
* 2.方法的参数类型,个数,顺序至少有一项不同。
* 3.方法返回值类型可以不同。
* 4.方法的修饰符可以不同。
* 方法重载
* 一、例题:编写一个类,可以接收两个整数,并返回最大数。
* 二、理解:定义一个类,在类里编写两个方法,分别返回不同类型的值。
* 三、概念:方法重载就是类的同一种功能的多种实现方式,具体采用哪种,根据调用者给出的参数。
* 四、构成重载的要求:
* 1.方法名相同。
* 2.方法的参数类型,个数,顺序至少有一项不同。
* 3.方法返回值类型可以不同。
* 4.方法的修饰符可以不同。
* 5.只是返回值类型不一样不能构成重载。
package com.shuiyixin;
public class learnJ_4chongzai {
/*
* @作者:shuiyixin
* @日期:2018.01.31
* @内容:重载
* */
public static void main(String []args){
MaxNum mn = new MaxNum();
System.out.println(mn.returnMax(1, 3.5f));
System.out.println("hello world");
}
}
//重载方法1,返回一个整形的数据
class MaxNum{
public int returnMax(int a ,int b){
if(a>b)
return a;
else
return b;
}
//重载方法2,返回一个单浮点型数据,检测函数 参数类型 不同是否可以为重载函数?可以!
public float returnMax(float a ,float b){
if(a>b)
return a;
else
return b;
}
//形参名字不同是否可以为重载函数?不可以!
// public float returnMax(float c ,float d){
// if(c>d)
// return c;
// else
// return d;
// }
//函数返回值类型不同可否为重载函数?不可以!
// public double returnMax(float a ,float b){
// if(a>b)
// return (double)a;
// else
// return (double)b;
// }
//方法的修饰符不同可否为重载函数?不可以!
// protected float returnMax(float a ,float b){
// if(a>b)
// return a;
// else
// return b;
// }
//方法的参数个数不同可否为重载函数?可以!
// public float returnMax(float a ,float b,float c){
// if(a>b)
// if(a>c)
// return a;
// else
// return c;
// else
// if(b>c)
// return b;
// else
// return c;
// }
//下列函数会报错:Illegal modifier for parameter c; only final is permitted。
//意思是:非法修改参数C,只有final是被允许的。
//也就是说,在java语法里,方法的形参(也包括方法体里面的变量)是不能赋予修饰符的,
//不管是访问权限修饰符还是其他修饰符例如static都是不允许的。
//
//所以把方法里的所有访问权限修饰符删除或换成final即可。
public float returnMax(float a ,float b,final float c){
if(a>b)
if(a>c)
return a;
else
return c;
else
if(b>c)
return b;
else
return c;
}
};