面向对象继承和多态基础

本文深入解析了多态的实现原理、继承的概念,以及方法重写的关键规则。重点讲解了虚拟方法调用在编译和运行时的区别,以及如何通过实例化操作符`instanceof`判断对象类型。同时,区分了方法重载与重写,并介绍了super关键字在子类中的运用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.什么是多态?

父类引用指向子类对象。

2.什么是虚拟方法调用?

使用多态创建的对象,在编译时编译父类的方法,但实际运行的时候调用的是子类重写后的方法。

3.什么是继承?

子类通过继承调用父类非私有的属性和方法

4.什么是方法的重写?

子类继承父类以后,可以对父类中同名同参的方法进行覆盖。

5.重写的规定

子类重写的方法的方法名和形参列表与父类被重写的方法的方法名和形参列表相同。

子类重写的方法的权限修饰符不小于父类中被重写的方法的权限修饰符(private修饰的方法不能被重写)。

返回值类型:父类返回值为void,则子类只能是void

                      父类返回值为A类型,子类返回值只能为A类型以及他的子类

                      父类返回值为基本数据类型时,子类的返回值之能事相应的基本数据类型。

子类从写的方法抛出的异常类型不大于父类被重写的方法抛出的异常类型。

6.如何区分方法重载和重写?

重载不表现为多态性,而重写表现多态性。

7.super关键字可以理解为父类,可以调用属性,方法,构造器。

可使用super.属性获取super.方法调用,super.可省略。

当子类声明了与父类同名的属性或重写了父类的方法,必须使用super.。

super调用构造器是必须使用super.,且构造器必须声明在子类的首行,若没有声明this(形参)或super(形参),则默认调用父类中的空参构造super(),在类的多个构造器中,至少有一个类的构造器中使用了super(形参),调用了父类的构造器。

8.instanceof操作符

 x  instanceof A :检验x是否为类A的对象,返回值为boolean;

x 所属的类必须是A的子类或父类,否则编译错误;若X属于类A的子类,返回值也为TRUE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值