关于多态
- 什么是多态?
- 是面向对象的三大特性之一。(封装、继承、多态)
- 多态是针对类的对象而言的。(即 new className();1)
- 多态的体现为:一个类将创建的对象,赋值给了它父类类型的变量进行接受,由于一个类的对象可以由 自己类型的变量接收,又可以由父类类型的变量接收,那我就可以说这里体现了多态。
- 那么问题来了,多态创建的对象使用时是怎么工作的?
- 一个类创建的对象被父类类型的变量接收了,那么我使用这个变量调用重名的成员变量时,它是调用父类的还是子类的呢?解:调用成员变量时使用的是父类的成员变量。
- 当调用成员方法时,调用的是子类的成员方法(不能是子类特有的方法)。
- 当调用的是静态成员时,那么不好意思执行父类中的静态成员。
- 有了多态就有了关键及instance of
- instance of 是一个Boolean类型的运算符,返回值为true或false
- 它适用于来判定一个变量是否为这个类型的对象。(子类属于父类)
new className() 是什么意思?
解:new className() 可以看作是在创建一个名为className类的对象。 而 通常完整写法的是 className object = new className();可以理解为:将创建的className对象赋值给一个className类型的变量object接收。这样就可以使用object代替冗长的new className(); 进行操作了。 ↩︎