首先说的是重载:
方法的重载
* 在同一个类中,方法名相同,参数列表不同。与返回值类型无关。
* 参数列表不同:
* A:参数个数不同
* B:参数类型不同
* C:参数的顺序不同(不算重载 报错)
*如何区分:
参数个数不一样 或者参数的类型不一样
重载和返回值类型无关 和参数名无关
技巧:重载看方法名和参数列表
1 public classMethodDemo3{2 /*方法的重载3 * 在同一个类中,方法名相同,参数列表不同。与返回值类型无关。4
5 * 参数列表不同:6 * A:参数个数不同7 * B:参数类型不同8 * C:参数的顺序不同(不算重载 报错)9 *如何区分:10 参数个数不一样 或者参数的类型不一样11 重载和返回值类型无关 和参数名无关12 技巧:重载看方法名和参数列表13 */
14 //主方法调用
15 public static voidmain(String[] args){16 System.out.println(getSum(1,2,3));17 }18 //包含两个参数
19 public static int getSum(int a,intb){20 System.out.println("两个参数");21 return a+b;22 }23 //包含三个参数
24 public static int getSum(int a,intb){25 System.out.println("三个参数");26 return a+b+c;27 }28 //重载跟数据类型无关,这个是double型
29 public static double getSum(double a,double b,doublec){30 System.out.println("三个参数");31 return a+b+c;32 }33 }
重写:
在Java程序中,类的继承关系可以产生一个子类,子类继承父类,它具备了父类所有的特征,继承了父类所有的方法和变量。
1.目前的问题:父类的功能无法满足子类的需求。
2.方法重写的前提: 必须要存在继承的关系。
3.方法的重写: 子父类出了同名的函数,这个我们就称作为方法的重写。
4.什么是时候要使用方法的重写:父类的功能无法满足子类的需求时。
1.方法重写时, 方法名与形参列表必须一致。
2.方法重写时,子类的权限修饰符必须要大于或者等于父类的权限修饰符。
3.方法重写时,子类的返回值类型必须要小于或者 等于父类的返回值类型。
4.方法重写时, 子类抛出的异常类型要小于或者等于父类抛出的异常类型。 Exception(最坏) RuntimeException(小坏)
父类:public classfather {voideat(){
System.out.println("父亲吃了");
}
}
子类继承父类:public class son extendsfather{voideat() {
System.out.println("儿子吃了");
}
}
重写:public classchongxie {public static voidmain(String[] args) {
father father= newfather();
son son= newson();
father.eat();
son.eat();
}
}