一、多态的定义。
自我理解来说,多态应该是从继承上发展,为了代码的简洁,用父类的对象调用子类的属性。
像设计思维——工厂和接口感觉都是依赖于此。
二、多态的声明
父类名 对象名 = new 子类(参数);
愉快地开始调用吧。
-
- 三步走:继承关系:子类重写父类的方法:子类对象赋给父类:通过父类调用方法,调用的是子类的方法(包括传参)。
- 父类类型做返回值。
- 父子类转换:
- A继承B,那么A可以赋值给B,真装行
- B=(b)a;绝对错,真转不行编译通过但是回报异常,假装才可以。
- 需要注意的是,到了现在有很多东西都需要通过自己重写系统自带方法来达到自己想要的目的:比如对对象的相等,或者toString()方法的运用。(但是底层的代码实在好看太多,所以直接交给快捷键了- -妈耶= =)
- 又多出了一个关键字:instanceof 这个是用来判断是否是对象的关键字,多运用于重写equals方法。
三、接口
强调:接口和类平级!接口和类平级!接口和类平级!
接口类似于一个抽象类和抽象方法的关系,但是接口里面全是抽象方法或者属性
抽象方法必须全部实现
接口可以多接口,但是类只能单继承。
接口的关键字是:interface
表示有接口的关键字是:Implements
这个三部曲不一定要同时实现功能,但是总之会实现其中一个(包含一个)以上(不然要来干嘛)
1. 定义接口,制定规范,不实现。
2.实现接口,实现接口中的规定的方法。
3.使用接口,调用.
这个的关键是
- 面向抽象编程(面向接口编程):在设计系统的时候由具体到抽象,将抽象的内容抽象成抽象类,或者接口。
- 关心实现类有何能力,而不关心实现的细节
- 面向接口的约定而不考虑接口的实现。