重写

作者: 落在牛背上的鸟 | 来源:发表于2018-03-20 22:43 被阅读17次

方法的重写

当子类定义了与弗雷方法名称相同、形参列表相同、返回值相同的方法时,就称为重写
范例:观察重写

class A {
    public void print() {
        System.out.println("A类中的方法!");
    }
}

class B extends A {
    public void print() {
        System.out.println("B类中的方法!");
    }
}

public class OverrideDemo {
    public static void main(String[] args) {
        B b = new B();
        b.print();  //B类中的方法!
    }
}

发生重写之后,会调用实例化子类中的已经被重写的方法。一个类可能回产生多个子类,哪个每个子类都可以有方法重写。
重写的使用原则(被动):
如果父类中的方法功能不足,但是子类又必须使用这个方法名称时,就需要使用重写。重写的方法控制权限不能比父类更严格。

范例:父类方法被重写,但是又要调用父类的方法,可以使用super关键字

class A {
    public void print() {
        System.out.println("A类中的方法!");
    }
}

class B extends A {
    public void print() {
        super.print();
        System.out.println("B类中的方法!");
    }
}

public class OverrideDemo {
    public static void main(String[] args) {
        B b = new B();
        b.print();  //B类中的方法!
    }
}

super 和 this 的区别

  1. "this.方法()" 会先查找本类中时候存在有调用的方法,如果存在直接调用,如果不存在则查找父类中是否具备此方法。
  2. "super.方法()"直接去调用父类中的方法。

面试题重载和重写的区别?

No 区别 重载 重写
1 英文单词 Overloading Override
2 发生范围 发生在一个类里 发生在继承关系中
3 定义 方法名称相同、参数的类型和个数不同 方法名称相同、参数的类型、个数相同、方法的返回值相同
4 权限限制 没有权限限制 被重写的方法控制权限不能比父类更加严格

相关文章

  • 重写,重写,重写 - 草稿

    重要的事情说三次,这是我本该早就发布的文章,由于我的失误,于是乎,现在写这篇文的时候,带着淡淡的忧伤。 今年,最快...

  • GeekBand OC 7. 多态

    运行时多态 重写override 重写方法 没有重写的方法会被重写 没有重写的方法中调用已经重写的方法会调用重写后...

  • Swift 重写override和重载overload

    1.重写override 重写是子类继承父类,重写父类的方法。 重写方法的参数列表必须完全与被重写的方法相同。重写...

  • swift overrid 跟 overload

    1.重写override 重写是子类继承父类,重写父类的方法。 重写方法的参数列表必须完全与被重写的方法相同。重写...

  • apache URL重写

    URL重写 URL rewrite介绍 URL重写 一、URL重写介绍 Apached的重写功能,即是mod_re...

  • swift中的继承

    只有类支持继承 重写实例方法、下标 重写类型方法、下标 用class修饰的可以被重写 重写属性 1.重写实例属性 ...

  • 第三章所有对象的通用方法

    目录 重写equals方法时遵守通用约定 重写equals方法时同时也要重写hashcode方法 始终重写 toS...

  • 重写(=覆盖)、重载

    override(重写、覆盖): 子类在继承父类时,重写(重新实现)父类中的方法。 重写(覆盖)的规则: 重写方法...

  • 为什么重写equals一定要重写hashcode?

    两篇文章搞懂为什么重写equals一定要重写hashcode? 为什么重写equals一定要重写hashcode?...

  • 继承UICollectionViewFlowLayout 重新

    重写prepareLayout方法 重写layoutAttributesForElementsInRect:方法 ...

网友评论

      本文标题:重写

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