Java中重载与重写的区别

重载(Overloading)

public class Dog { Dog() { this.bark(); } void bark()//bark()方法是重载方法 { System.out.println(\"no barking!\"); this.bark(\"female\", 3.4); } void bark(String m,double l)//注意:重载的方法的返回值都是一样的, { System.out.println(\"a barking dog!\"); this.bark(5, \"China\"); } void bark(int a,String n)//不能以返回值区分重载方法,而只能以“参数类型”和“类名”来区分 { System.out.println(\"a howling dog\"); } public static void main(String[] args) { Dog dog = new Dog(); //dog.bark(); [Page] //dog.bark(\"male\", \"yellow\"); //dog.bark(5, \"China\"); }

重写(Overriding)

但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。

方法重写又称方法覆盖。

如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。

重写方法的规则:

重载的规则:

重写与重载的区别在于:

java三大特征重载与重写的区别(Java中重载与重写的区别)(1)

,