一 .Override(重写,覆写)
满足方法重写的几个条件:
1.方法名相同.
2.子类的访问控制权限不能低于父类被重写方法的访问权限.
3.参数类型,参数个数,参数列表顺序,必须与父类被重写方法的一致.
4.返回值类型相同.
附上代码示例:
abstract class SupperClass {
protected abstract void init();
protected void close(){}
}
public class OverrideDemo01 extends SupperClass{
public static void main(String []args) {
SupperClass supper = new OverrideDemo01();
supper.init();
supper.close();
}
/**
关于重写只要记住除了访问控制权限,其它的子类的方法必须跟父类的一模一样.
子类的访问控制权限不能低于父类的访问控制权限
主要难以区分的是访问控制权限
**/
@Override
public void init(){
System.out.println("init");
}
@Override
public void close(){
System.out.println("close");
}
}
二 .Overload(重载)
满中方法重载的几个条件:
1.方法名相同
2.参数类型,参数个数,参数列表顺序不相同
注意:
方法的返回值本不能区分一个函数,因为方法返回值可以不使用.
public class OverloadDemo01 {
public static void main(String []args) {
OverloadDemo01 overload = new OverloadDemo01();
print(1);
overload.print(1.0f);
print("1");
/**
重载的判别:只与函数名,和参数类型 ,参数个数,参数顺序.
只与记住函数名相同.其它的都不相同.返回值和访问控制权限不列入区分条件
**/
}
public static void print(int i){
System.out.println("i");
}
protected void print(float f){
System.out.println("f");
}
public static void print(String s){
System.out.println("s");
}
}