Java面向对象有四个特征:抽象、封装、继承、多态。其中封装、继承、多态又被称为Java的基本特征。
抽象:
Java中会把客观事物抽象成一个类。类就是封装了数据以及操作这些数据的代码逻辑实体。用字符来表示属性(数据),用方法来表示行为(数据操作)。
封装:
封装就是把字段和方法进行访问权限限制。比如使用private修饰字段,将对象的属性私有化,这样其他对象就无法直接访问到这个对象的私有属性。可以通过调用这个对象的getter、setter方法间接访问。这样做的好处就是可以提高数据访问的安全性。
继承:
就是一个类通过extends关键字把另一个类的所有功能复制到这个类中,无需重复写这个功能实现的代码。这个复制形成的类叫做子类。
多态:
多态一般说的都是方法的多态。方法重写和方法重载就是多态的重要体现。重写是运行时多态,重载是编译时多态。
方法重写是在继承关系的前提下,子类拥有与父类方法名相同、参数(个数、顺序、类型)相同、返回值类型相同,访问修饰符权限只能扩大和相等不能缩小的情况下的不同实现内容的方法。
方法重载是在同一个类中,有多个方法名相同,参数不同的方法。
我一般喜欢这样记:重写和重载的区别
重写:子类继承父类,同名同参同返回,访问不能小。
重载:同类多方法,同名不同参,返回和访问不关注。