1.方法重写:子类中出现与父类一模一样的方法时(返回值类型,方发名和参数列表都相同),会出现覆盖效果,也恒伟重写或者复写
注意:子类方法覆盖父类方法,必须要保证权限大于等于父类权限.子类方法覆盖父类方法,返回值类型,函数名和参数列表都要一模一样
2.从作用的角度上说:对子类共性的内容进行抽取,其中有可能包含抽象方法.作用:1为子类提供便利:抽象类中可以定义一些方法,子类继承之后可以直接使用;2对子类进行约束:抽象类中的抽象方法,子类继承之后,必须重写,否则子类也是一个抽象类
3.集成抽象类的子类必须重写父类所有的抽象方法.否则,该子类也必须声明为抽象类.
抽象类不能创建对象,如果创建,编译无法通过而报错.只能创建其非抽象子类的对象.
抽象类中,可以有构造方法,是提供子类创建对象时,初始化父类成员使用的.
抽象类中,不一定包含抽象方法,但是有抽象方法的类必须是抽象类
抽象类的子类,必须重写抽象父类中所有的抽象方法,否则,编译无法通过而报错.除非该子类也是抽象类.
4.继承:进行共性抽取,将多类中相同的部分到一个类中,从而提高代码的复用性;在进行版本的更新时,可以不需要直接在旧版本上修改,也不要重新编写一个新程序,只要创建一个旧版本的子类,对需要更改的地方进行覆盖或拓展即可;
抽象:父类的方法,在子类里都有种不同的表现形式,都需要对对父类进行重写,此时父类的该方法体就无意义了,但是方法声明还有意义,用抽象方法就可以直接创建一个没有方法体的方法,给子类提供便利,而且抽象还能对子类进行约束,保证某个功能子类一定含有; |