一、封装
封装是指隐藏了对象的属性和实现细节,仅对外提供公共的访问方式,提高了代码的可复用性和安全性。封装时需要使用private把类中的属性私有化,然后提供get和set方法进行访问和赋值。
二、继承
继承是指子类继承父类,继承后子类可以调用父类的非私用方法和属性,从而提高了代码的可复用性。接口和final修饰的类不能被继承,接口只能被实现,而final修饰的类为最终类,也无法被继承。
三、多态
多态是指父类的属性和方法被子类继承之后,可以表现出不同的行为或具有不同的数据类型。实现多态需要三个必要条件,继承、重写、向上转型。
-
继承:子类必须继承父类
-
重写:子类必须继承父类的方法,父类有的方法子类也要有相同的方法,方法名相同,参数类型和个数相同,返回值相同。
-
向上转型:即通过父类可以调用子类的方法,可以提高代码的兼容型和可扩充性。例如:A a =new B(),即为B类向上转型为A类, 这时即可通过父类A类的对象调用子类B类的方法。
四、抽象
抽象是把一类事物的共同特性或特征抽取出来,封装到一个类中,是面对对象的基础逻辑,在面对对象编程中,抽象分为抽象类和接口。
抽象类是使用abstract修饰的,里面可以有属性,抽象方法和实际方法,实际方法是具体实现代码的方法,而抽象方法仅有方法名,没有具体代码对方法的实现。
接口是interface修饰的,是用来定义代码开发的规范,接口里面只有抽象方法,没有属性和实际方法。接口不能被继承,可以被实现,接口是多实现的,可扩展型强,抽象类是单继承的。
抽象类和接口都不能被实例化,也就是不能被new出来,好处是提供一个约束模版,防止子类或者接口中方法的随意性