1、方法的重载(Overload)
在同一个类中,方法名相同,参数列表不同,与返回值无关。
2、方法的重写(Override)
在继承(实现接口)的关系中,子类重写父类的方法,方法名相同,参数列表相同,返回值类型相同。
注意点:
1)重写方法的权限修饰符的权限必须大于父类方法,且父类方法不能使用private 修饰;
2)重写方法的返回值类型和父类的方法要保持一致,但有一个特殊情况:当返回值类型为引用类型时,重写的方法的返回值类型可以是父类方法返回值类型的子类。
public class Demo extends Super {
@Override
public String getInstance(){
return "hello";
}
public static void main(String[] args) {
Super dm=new Demo();
System.out.println(dm.getInstance());
}
}
class Super{
public Object getInstance(){
Object obj=new Object();
return obj;
}
}
运行结果:
hello