java 继承中的重写、重载、多态

来源:互联网 发布:telnet命令 linux 编辑:程序博客网 时间:2024/06/08 21:49

java 在继承当中,可以使用父类引用指向子类的对象,而子类对象引用则不能指向父类对象。

Father fs=new Son();

当父类与子类具有同名的成员变量时,如都有同名的String s时,尽管创建的是Son对象,fs.s调用的却是Father的s;

当父类与子类具有同名的方法时,构成了重写,如具有同名的show()方法,与成员变量不同,fs.show调用的是Son中的show()方法。

但如果是静态的方法,当父类与子类具有同名静态方法时,不会被重写。静态方法不会被重写,只能被继承或者隐藏。

java重写的规则,要求方法名相同,返回类型相同,或者返回对象派生自被重写的方法的返回对象,重写方法的限制符号不能比被重写的更宽。

重写是基于继承,方法没有被继承就不会被重写,父类中private的方法是不会被继承的,所以也不可能被重写。

方法的重载

重载是指在一个类里面具有,相同方法名不同参数的方法,返回值可以相同也可以不同。

如果重载的参数是引用,且有继承关系,则重载哪个方法是由传入参数的引用类型决定的。

final类不能被继承,final方法不能被重写

与final想对的关键字是abstract,abstract用于修饰抽象类,抽象类不可被实例化,只可以被继承,抽象类中用abstract修饰的方法称为抽象方法,抽象方法在继承的时候通过重写来实现。抽象类的第一个子类,必须实现它和它所继承来的所有抽象方法。 非抽象类中不能有抽象方法。

基于继承的多态:在java中基于继承的多态是指对象功能的调用者用超类的引用来进行方法调用。

用超类的引用调用不同子类的实现,使用超类当中的方法,而不用关心具体子类当中的实现方法,就是多态。


0 0
原创粉丝点击