3.重载与重写的区别?分别是什么?

1 重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。–》改参数类型,数量

public class Overloading {    public int test(){        System.out.println("test1");        return 1;    }     public void test(int a){        System.out.println("test2");    }        //以下两个参数类型顺序不同    public String test(int a,String s){        System.out.println("test3");        return "returntest3";    }        public String test(String s,int a){        System.out.println("test4");        return "returntest4";    }        public static void main(String[] args){        Overloading o = new Overloading();        System.out.println(o.test());        o.test(1);        System.out.println(o.test(1,"test3"));        System.out.println(o.test("test4",1));    }}

2 重写(Override)
重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!
重写是父类与子类之间多态性的表现形式,重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。
子类—》父类当需要在子类中调用父类的被重写方法时,要使用 super 关键字。

class Animal{   public void move(){      System.out.println("动物可以移动");   }} class Dog extends Animal{   public void move(){      super.move(); // 应用super类的方法      System.out.println("狗可以跑和走");   }} public class TestDog{   public static void main(String args[]){       Animal b = new Dog(); // Dog 对象      b.move(); //执行 Dog类的方法    }}

欢迎您关注我的公众.号:学习微站(studysth)

你可能感兴趣的:(3.重载与重写的区别?分别是什么?)