面向对象有三大特性:封装,继承,多态
封装是指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。
用private关键字将该类的方法或属性进行封装,主要功能是让程序更容易理解与维护
l this 特殊引用,引用当前对象的地址
l this.xxx 调用成员
l 当有重名局部变量,必须用this.xx调用成员变量
l 构造方法之间调用
l 目的是减少代码重复,方便维护修改
l 一般从参数少的方法,调用参数多的方法
l this(...) 必须是首行代码
继承的主要作用是代码重用、复用,而私有成员构造方法不能继承:
由父类对象和子类对象绑定,整体作为一个对象
调用成员时,先找子类,再找父类
创建子类对象时,先创建父类对象,也要先执行父类的构造方法
默认执行父类的无参构造 super()
或者可以手动调用父类有参构造 super(...)
super.xxxx()
重写时,调用父类同一个方法的代码
调用父类的构造方法
必须是首行代码
多态作用是将所有的子类型对象一致的类型,都可以被当做一致的父类型来处理
通过向上转型将子类型对象,转型成父类型
向上转型会隐藏子类的特有成员,只能调用父类定义的通用成员
已经转成父类型的子类对象,再转回成子类型
某种子类型对象,需要特殊处理(调用它的特有成员),先转回来再处理
多态转型本质是引用变量的类型转换,对象本身不变
Dog d = new Dog(); Pet p = d;
原文:https://www.cnblogs.com/houyu/p/11872521.html