重写(Override)是父类与子类之间多态性的一种表现,重载(Overload)是一个类中多态性的一种表现。
在Java语言规范里,一个方法的特征仅包括方法的名字、参数的数目和种类,而不包括返回类型、参数的名字以及抛出的异常。Java编译器检查方法的重载Overload时会根据这些条件判断两个方法是否重载了。
但是Java编译器在检查方法的重写时,则会进一步的检查两个方法的返回类型和抛出的异常是否相同。
重写:
public class ThreadTest extends Thread
{
public void run()
{
}
}
上述例子是将继承了线程 并将其中的run()方法重写。
重载:
public OverLoadDemo
{
int x;
public OverLoadDemo()
{
}
public OverLoadDemo(int x)
{
this.x=x;
}
}
上述代码是指将构造函数重载啦!!