封装:属性私有化,根据需要提供setter和getter方法使用public修饰,其他属性使用private修饰(具体使用什么修饰符依情况而定)。这里也属于开闭原则的范畴吧。通过这种特性,使得我们在使用某些方法或者变量的时候只用了解参数,返回值,功能即可,而不关心具体业务逻辑。这样就是面向对象而不是面向过程吧;
继承:多个类有共同的成员变量和成员方法,抽取导另外一个类中,在让多个类去继承这个父类,这样多个类就可以获取到父类中的非私有成员变量与重写非私有成员方法;这样做的好处就是提高代码的复用性。
多态:多态指允许不同类的对象对同一“消息”做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。具体可以使用接口作为实现类的返回值接收,父类可以作为子类的返回值接收,这属于向上转型的范畴,这样做的好处就是每次创建对象的时候不用修改返回值;向下转型的时候,即使添加新的实现类或者子类,判断一下即可;提高了代码的复用性和扩展性;
小结:Java的这三大特性符合面向对象的设计原则,封装使得发展更快,站在巨人的肩膀上;继承使得代码更简洁,更少更强;多态使得代码扩展更优雅简洁。