Java面向对象基础
面向对象特征三:多态性
- 方法重载能够减轻方法调用者的复杂度,但是无法减轻方法小黄见着的复杂度。
- 在给变量赋值时,值的数据类和变量的数据类型一致。
- 对于变量的数据类型,在编译时期,变量的数据类型是由其前面所声明的数据类型所决定的;当在运行时期,变量的数据类型则是由其具体存储数据类型所决定的。
Teacher t1 = new Teacher();
一、多态
1、理解
一个变量在其编译、运行过程中,会呈现出不同的数据类型,就称之为多态。
2、多态的使用
3、多态(向上转型)
(1)当出现
所实例化对象是,该行为就被称之为“向上转型”。
(2)向上转型所创建的对象,如果调用的方法子类中有重写的,优先调用子类重写的方法;如果子类没有重写,则调用父类的方法。
(3)这种方式所创建的对象本质属于父类类型,所以无法调用子类独有的方法。
4、多态(向下转型)
如果想要使用子类独有方法,则需要对该对象进行转型,创建出一个子类对象,该行为称为“向下转型”。
在向下转型的过程中,如果没有转换为真实子类类型,会出现类型转换异常。
5、注意事项
(1)多态是同一个引用类型,使用不同的实例而执行不同操作。
(2)方法重写是实现多态的基础。
6、instanceof运算符
Java提供了instanceof运算符来进行类型的判断,使用instanceof时,对象的类型必须和instanceof后面的参数所指定的类在继承上有上下级关系。
二、独立的个体对象
1、在面向对象的系统中,最核心的对象就是用于描述抑恶个个独立个体的对象,这些对象的核心就是在对象的属性上,通常属性都是私有的,与之配合的方法就是私有方法的setter和getter方法。
2、由于这些描述个体的对象作用不同,又可以分为以下几种:
(1)Entity(实体对象):最常用于描述一个具体个体的类,核心就是属性和该属性的getter和setter方法。
实体类最大的特征就是和数据库的表是相对应的,即属性和表的字段时对应的。
(2)VO(View Object 视图对象):通常用于前端和后端交互数据时使用。
(3)POJO(Plian Ordinary Java Object):普通的Java类,没有特定的使用位置,就是传统意义上的对象,含有属性和该属性的getter和setter。