zoukankan      html  css  js  c++  java
  • 05-方法重写

    方法重写

    在继承关系中,子类如果定义了一个与父类方法签名完全相同的方法,被称为覆写(Override)
    加上@Override可以让编译器帮助检查是否进行了正确的覆写。

    例如,在Person类中,我们定义了run()方法:

    class Person {
        public void run() {
            System.out.println("Person.run");
        }
    }
    

    在子类Student中,覆写这个run()方法:

    class Student extends Person {
        @Override
        public void run() {
            System.out.println("Student.run");
        }
    }
    

    Override和Overload不同的是,如果方法签名如果不同,就是Overload,Overload方法是一个新方法;如果方法签名相同,并且返回值也相同,就是Override
    总结:需要和父类方法一模一样,只是方法体不一样

    final

    继承可以允许子类覆写父类的方法。如果一个父类不允许子类对它的某个方法进行覆写,可以把该方法标记为final。用final修饰的方法不能被Override

    对于一个类的实例字段,同样可以用final修饰。用final修饰的字段在初始化后不能被修改

    可以在构造方法中初始化final字段,这种方法更为常用,因为可以保证实例一旦创建,其final字段就不可修改。

    class Person {
        public final String name;
        public Person(String name) {
            this.name = name;
        }
    }
    
  • 相关阅读:
    如何将伪数组转换成真正的数组
    JS 中对变量类型的五种判断方法
    ajax详解
    onload和ready的区别
    ES5继承
    跨域的三种解决方式
    如何处理使用js兼容所有浏览器的问题
    Canvas修行之黑客帝国代码雨
    Webpack+React+ES6入门指南[转]
    对于Mongodb数据库的学习
  • 原文地址:https://www.cnblogs.com/shenleg/p/14164249.html
Copyright © 2011-2022 走看看