java面向对象的三大特性:封装、继承、多态。
抽象:
把现实世界中某类事物的共性提取出来,抽象成一个类。抽象包括数据抽象和过程抽象。数据抽象是指类中提取出来的属性,过程抽象是指提取出出来的方法。
封装:
封装是指把抽象出来的数据和方法用类封装起来。
封装主要是指外部对于类的访问权限:方法的访问权限(可见性),属性的访问权限(通过getter和setter方法访问)
继承:
扩展已有类的功能(只能单继承)
子类和父类之间包括(extends,implements,abstract)
子类不能继承父类的private属性和方法
多态:
同一信息被不同的对象接收到时产生不同的行为(一种行为多种形态)
方法的多态性:重写(子类和父类之间)和重载(同一个类中)
对象的多态性:上转型和下转型
重载和重写的区别:
注:重载的返回值类型不作规定,重写的返回值类型必须相同。
上转型和下转型详解
上转型:用父类的变量来接收子类的实例 A a=new B(); 那么a对象只能访问A类的方法和在B类型重写的方法。
下转型:只有A,B之间建立了关系才能实现下转型,B b=(B)a; 下转型必须强转,b类的访问规则为常规类访问规则。