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

作者: 学习微站 | 来源:发表于2020-11-11 10:55 被阅读0次

    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.重载与重写的区别?分别是什么?

        本文链接:https://www.haomeiwen.com/subject/zdklbktx.html