登陆 / 注册
JAVA 学习手册 展开/折叠

java的三大特性总结

阅读数:7

java的三大特性总结o_OOBase.gif

一、封装

 封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一

个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系,把对

象的属性和行为(方法)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节。系统的其他对象只能通过包裹在数据外面的已经授

权的操作来与这个封装的对象进行交流和交互。也就是说用户是无需知道对象内部的细节(当然也无从知道),但可以通过该对象对外的

提供的接口来访问该对象。

对于封装而言,一个对象它所封装的是自己的属性和方法,所以它是不需要依赖其他对象就可以完成自己的操作,在java中,对于对象的

内部属性一般用private来实现隐藏,并通过set和get方法对外提供访问接口。


封装的步

 1)  :修改属性的可见性来限制对属性的访

 2)  :为每个属性创建一队赋值和取值方法,用于对这些属性的访

 3)  :在赋值和取值方法中,加入对属性的存取限制


封装的两大原则:

把尽可能多的东西藏起来,对外提供简洁的接口

把所有的属性封装起来。

封装的三大好处:

1、良好的封装能够减少耦合。

2、类内部的结构可以自由修改。

3、可以对成员进行更精确的控制。

 4、隐藏信息,实现细节。


二、继承

Java的继承通过extends关键字来实现,实现继承的类被称为子类,被继承的类称为父类(有的也称其为基类、超类),父类和子类的关

系,是一种一般和特殊的关系;子类扩展父类,将可以获得父类的全部属性和方法。子类继承父类的属性和行为,并能根据自己的需求扩

展出新的属性和行为,提高了代码的可复用性。


Java继承的特征

1) 继承关系是传递的。若类C继承类B,类B继承类A(多继承),则类C既有从类B那里继承下来的属性与方法,也有从类A那里继承下来

的属性与方法,还可以有自己新定义的属性和方法。继承来的属性和方法尽管是隐式的,但仍是类C的属性和方法。

2) 继承提供了软件复用功能。若类B继承类A,那么建立类B时只需要再描述与基类(类A)不同的少量特征(数据成员和成员方法)即可。这种

做法能减小代码和数据的冗余度,大大增加程序的重用性。

3) 继承通过增强一致性来减少模块间的接口和界面,大大增加了程序的易维护性


继承中几个不得不提的词

构造器:除了private之外,还有一些是子类不能继承的。比如:构造器只能被调用,而不能被继承。调用父类只要使用super()即可。子

类会默认调用父类的默认构造器,如果没有默认构造器,就必须显式指出构造器。

protected:对于protected而言,它指明就类用户而言,他是private,但是对于任何继承与此类的子类而言或者其他任何位于同一个包

的类而言,他却是可以访问的。 

向上转型: 将子类转换成父类,在继承关系上面是向上移动的,所以一般称之为向上转型。由于向上转型是从一个叫专用类型向较通用

类型转换,所以它总是安全的,唯一发生变化的可能就是属性和方法的丢失。这就是为什么编译器在“未曾明确表示转型”活“未曾指定

特殊标记”的情况下,仍然允许向上转型的原因。

overide:当子父类中出现相同方法时,会先运行子类中的方法。重写的特点是方法名一样,访问修饰符权限不小于父类,返回类型一

致,参数列表一致。


三、多态

多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,

即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决

定。因为在程序运行时才确定具体的类,这样,不用修改源程序代码,就可以让引用变量绑定到各种不同的类实现上,从而导致该引用调

用的具体方法随之改变,即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态,这就是多态性。

简单而言,多态就是不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态;

具体的实现方式有以下几种方式:接口实现和继承父类进行方法重写,或者在同一个类中进行方法重载。

tips : 封装和继承都是为Java语言的多态提供了支撑;


多态存在的三个必要条件:

要有继承;

要有重写

父类引用指向子类对象。

微信扫码登陆