2016.7.17
封装、继承、多态
面向对象的3种特性
封装
顾名思义就是把数据封装起来,只提供一些被允许的属性和方法被访问。防止对数据的随意访问和修改,规范对数据的操作。
继承
类与类之间可以继承,Java中一个类只能继承一个类。继承后根据修饰符就能获得父类相应的属性和方法,类与类之间就有了关系,逻辑上也更好关联和理解。
多态
即多种状态,这有很多种表现形式。
方法的重载,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准。
方法的覆写(同名同参数),继承之后可以修改方法的内容,从而实现与父类的不同。
一个类可以被多个类继承,这些类虽然各不相同,但都是属于父类的。即可以使用父类作为参数类型,传入一个子类的实例对象,然后在方法中可以针对实例对象的类型,进行不同或相同的操作。
抽象
将一类事物所具有的共性抽象出来,成为属性和方法。
修饰符
被修饰符修饰的变量或方法的作用范围
public(所有)>protected(同包和子类)>(default)(同包)>private(类本身)
还有一些其他的修饰符
abstract 抽象
static 静态
synchronized 同步
transient 暂时
volatile 易失
final 不变
构造函数
若没有写构造函数,就会有一个系统默认的无参数构造函数
若有写构造函数,系统默认的无参数构造函数就没有了,但可以自己添上
继承一个类后,实例化这个类的对象时,会先执行父类的构造函数
*注:类里的静态常量(final static)可以在子类里覆盖来重新赋值