Java 基础知识 三大特性 - 封装、继承与多态

  • Java,基础知识,三大特性,封装,继承,多态

Java 的三大特性:封装,继承,多态,其实也是面向对象的三大特性。

封装

主要实现了隐藏细节,对用户提供访问接口,无需关心方法的具体实现。把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。隐藏是有权限控制的, public , private , protected 就是用来描述权限控制的。这样能有效的保护代码,也能提高使用者的效率。封装从理论上没有什么特别的缺点,但是在某些场合上对封装的要求就会降低,不那么严格要求。封装的代价就是资源的消耗,本来可以直接访问的一个变量,现在多了一个 get 方法,一个 set 方法,这就让虚拟机需要更多次的运算,更多的内存占用,这也是早起 Java 慢的一个喷点。在嵌入式设备上,比如现在的 Android 上,这些消耗虽然看起来不明显,但是积累多了,也会有些影响的。现在市面上的手机那么多,有 2G 内存的,也有 512M 内存的, G1 是 192M 内存。所以在某些场合下,直接公开变量的访问权限也是可以接受的。

继承

是对有着共同特性的多类事物,进行再抽象成一个类。这个类就是多类事物的父类。父类的意义在于抽取多类事物的共性。很好的实现了代码的复用,提高了编程效率。一般父类会实现一些共用的业务逻辑,当两个类有相同或者相似的业务代码的时候,就可以考虑抽象出一个父类,或者把实现的方法写在两个类的父类里,这样就减少了重复的代码。Java 类与类之间是单继承的关系,所以类之间呈现一个树形的关系,相比多继承,单继承让结构更加清晰一些。但是在项目中,如果继承关系比较复杂的话,继承树太深了,也在一定程度上降低了代码的可阅读性。

多态

把子类对象主观的看作是其父类型的对象,那么父类型就可以是很多种类型。多态让程序的可扩展性及可维护性增强。多态让代码更加的灵活,不管从代码的编写者还是代码的调用者的角度来说。多态分编译时多态和运行时多态。

封装,继承,多态,三者不是孤立的,是相互联系的,是一整套的。感觉感觉马克思辩证唯物那一套说辞似的,但确实是这样。

- EOF -

本文链接 https://binkery.com/archives/429.html,欢迎转载,转载请注明出处。