JAVA三大特性
封装
把对象的属性和具体行为看成一个私有的不可见的整体,不允许被外部修改,但是提供访问接口
这种对外简单使用,对内隐藏复杂性的形式 符合高内聚低耦合的程序设计
也提高了系统整体的可维护性
典型的是使用private 控制访问权限私有
继承
父类可以有多个子类,子类只能有一个分类
父类持有共性方法,子类继承父类的共性之外可以有自己的特性实现,这种继承共性也是减少了重复代码(共性不用定义多次)
另外,上层业务只需要对父类进行行为定义,具体的行为实现看用什么子类去实例化的父类 ,不需要对每种子类来一遍 简化代码 (向上转型,这也是多态的表现形式)
注意的是 父类的私有属性和方法,子类无法直接访问,也不可见 父类也不能执行子类的私有方法
父类私有属性和方法对子类不可见,但是子类调用父类公共方法时涉及到父类私有属性和方法时可以正常调用 间接访问
父类无法访问子类的私有方法
初始化子类会默认调用父类的构造 默认调用父类无参构造
多态
一句话概括:同一个行为(名称相同)具有多种不同表现形式或形态就叫多态
分为编译时多态和运行时多态
编译时能够确定执行多态中的哪一个方法,为编译时多态,否则为运行时多态
方法重载 编译时多态 由参数列表去匹配
方法重写 表现出两种多态 当对象引用本类实例时,为编译时多态,否则为运行时多态(用子类实例化的),需要沿着继承关系逐层向上搜寻匹配
向上/转转型
向下转型之前,它得先向上转型,不用重复创建新的引用实例
利用向下转型,通过一个公共方法,只需要更换父类引用(这个传入参数)指向的(子类)对象,便可以调用不同子类的独特的或者普遍行为,和属性(非private)
作者: deity-night
出处: https://www.cnblogs.com/deity-night/
关于作者:码农
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题, 可邮件(***@163.com)咨询.