不是一个概念。 重载一般是指的多个方法使用同一方法名,根据不同的参数执行不同的操作。比如 class Student{ private String name; public Student(){ name="default"; } public Student(String name){ this.name=name; } } 这就是一个简单的构造方法重载。 典型的像System.out.println(),你可以看看有好多种版本,可以接受String类型的参数,int,double等基本类型的参数,这都是通过重载来实现的。 而多态是面向对象的特性之一,指的是在同一类型层次中的不同对象调用同名的方法有不同的结果,一般通过子类覆盖父类的方法实现. 从英语来看,重载是overloading 覆盖是overriding
多态是指java中可以将子类型的对象引用给一个父类类型来构造一个父类实例的特性,比如 public class Son extends Father { public static void main(String args[]) { Father f = new Son(); } } 红色部分就是一个多态。 而重载overloading是针对方法而言的,是指在子类中对父类中的一个方法进行改变,方法名相同,参数,参数类型,方法体等都进行更改, 与此相对的重写(或者叫覆盖)overriding,是指在子类中对父类中的一个方法仅对方法体进行修改,方法名,返回值类型,参数,参数类型等与父类中的方法完全一致。
楼主【Rookie_Allen】截止到2008-07-19 10:40:03的历史汇总数据(不包括此帖):
发帖的总数量:14 发帖的总分数:270 每贴平均分数:19
回帖的总数量:19 得分贴总数量:7 回帖的得分率:36%
结贴的总数量:4 结贴的总分数:80
无满意结贴数:0 无满意结贴分:0
未结的帖子数:10 未结的总分数:190
结贴的百分比:28.57 % 结分的百分比:29.63 %
无满意结贴率:0.00 % 无满意结分率:0.00 %
楼主该结一些帖子了
重载一般是指的多个方法使用同一方法名,根据不同的参数执行不同的操作。比如
class Student{
private String name;
public Student(){
name="default";
}
public Student(String name){
this.name=name;
}
}
这就是一个简单的构造方法重载。
典型的像System.out.println(),你可以看看有好多种版本,可以接受String类型的参数,int,double等基本类型的参数,这都是通过重载来实现的。
而多态是面向对象的特性之一,指的是在同一类型层次中的不同对象调用同名的方法有不同的结果,一般通过子类覆盖父类的方法实现.
从英语来看,重载是overloading
覆盖是overriding
public class Son extends Father
{
public static void main(String args[])
{
Father f = new Son();
}
}
红色部分就是一个多态。
而重载overloading是针对方法而言的,是指在子类中对父类中的一个方法进行改变,方法名相同,参数,参数类型,方法体等都进行更改,
与此相对的重写(或者叫覆盖)overriding,是指在子类中对父类中的一个方法仅对方法体进行修改,方法名,返回值类型,参数,参数类型等与父类中的方法完全一致。