重写和重载的区别:

在区别重写(Overriding)和重载(Overloading)之前,先要清楚型构(Signature)的概念,所谓型构是指:方法的组成结构,具体包括方法的名称和参数,这涵盖了方法参数的数量、类型以及出现的顺序,但是不包括方法的返回值类型,访问权限修饰符,以及abstract,static,final等修饰符。

比如下面两个就是具有相同型构的方法:

public  static  void method(int i, String s) {

// do something

}

private final String method(int i, String s) {

// do something

}

 

而这两个就是具有不同型构的方法:

public void method(int i, String s) {

// do something

}

public void method(String s, int i) {

// do something

}

 

重写和重载的区别:

重写,overriding,是指在继承的情况下,子类中定义了与父类中具有相同型构的新方法,也就是子类重写了父类的方法。

重载,overloading,是在同一个类中,定义了一个以上具有相同名称,但是有着不同型构的方法,在同一个类中是不允许定义多于一个具有相同型构的方法的。

构造器也是可以重载的,实际上,构造器就是一个方法,构造器的名称就是方法的名称,

posted @ 2013-12-13 21:05  iwwenbo  阅读(409)  评论(0编辑  收藏  举报