面对对象中三大特性在java中的体现
继承
概念:从一个类派生出一个新的类,派生出的类称为子类(派生类),被派生的类称为父类(基类),子类继承父类的方法和属性
声明方式: public class 子类名 extends 父类名
类继承是单继承
构造器不能被继承
没有访问权限的成员不继承
静态成员不继承
多态
多态编译器和运行期的时候表现的是不同的形态
多态是有继承的,如果没有继承基础存在,是不可能有多态的
子类重写父类的方法,多态时调用的时候是调用子类重写的方法
父类引用指向子类的实例,输入子类到父类的类型转换
子类转父类规则
将一个父类的引用指向一个子类的对象,称为向上转型自动进行类型转换.
使用父类引用调用的方法是子类覆盖或继承父类的方法,不是父类的方法.
通过父类引用是无法调用子类特有的方法。
如果父类要调用子类的特有方法就得将一个指向子类对象的父类引用赋给一个子类的引用,称为向下转型,此时必须进行强制类型转换
封装
访问控制符
private 方法只能在类内被访问,具有类可见性.
default 方法只能被同一个包里的类访问,具有包可见性
protected 可以被同一个包中的类访问,被同一个项目中不同包中的子类访问
public 可以被同一个项目中所有类访问,具有项目可见性,这是最大的访问权限
好处
隐藏类的实现细节
让使用者只能通过规定的方法来访问数据
可以方便的加入方法操作,防止此类独有的属性或方法被外部随便调用
具体步骤
修改属性的修饰符可见性来限制对属性的访问
为每个属性创建一对赋值(setter)方法和取值(getter)方法,用于对这些属性的存取
在赋值方法中,加入对属性的存取控制语句