黑马程序员_java面向对象(对第五课面向对象..封装..构造..this应用总结)

来源:互联网 发布:神作小说 知乎 编辑:程序博客网 时间:2024/06/15 19:11

------- android培训、java培训、期待与您交流! ----------


通过今天对java语言面向对象的学习,我来给自己的学习内容做下简单直白的总结:

首先我们要先来理解一下面向对象:面向对象和面向过程都是一种思想..

面向过程:强调的是功能的行为...比如,打开功能,存储功能..

面向对象:强调的是封装了功能的对象..比如,把打开功能.存储功能封装到一个对象里,我们只需有这个对象就具备了所有功能..

相对而言,面向对象将复杂的事情变得简单化,从执行者变成了指挥者,只需要有对象就能指挥对象里封装的功能...

在java中,我们可以用名词提炼法的方式去提炼出某一句话中的对象..

面向对象的三大特征:封装,继承,多态...

我们以后开发其实就是:先找对象用,没有找到的情况下就自己创建个对象来用..简单点来说:就是找对象,建立对象,使用对象并维护对象之间的关系..


类和对象之间的关系:

类就是:对现实生活中各类事物的描述...

对象:这一类事物中,实实在在存在的个体..

比如相对计算机而言:类就像绘画..先描述绘画出这一类事物的图纸以后..才能实实在在的创建出这一类事物的个体对象

扩展:在现实生活中,如果我们有了一些对象,也可以将这些对象的共性内容提取出来,以类的形式进行描述..

最后,对象和数组一样,都是用new创建出来存储数据的,凡是用来存储多个数据的我们都称为实体,都放在堆内存中.


定义类其实就是在定义属性和行为..属性和行为共同成为类中的成员(成员变量和成员方法)
扩展:我们可以定义一个全是成员方法没有成员变量的类...也可以定义一个全是成员变量没有成员方法的类,但是在类中不定义构造方法的情况下,一定具备一个系统默认的空参数的构造方法,它是一个特殊的成员方法,是用来给相对应的对象进行初始化的,是对象生来就具备的一些行为..

匿名对象:是对象的简化形式.

匿名对象调用属性没有意义,调用方法也只能使用一次..

匿名对象可以做为实际参数进行传递..


下面我来总结下面向对象的第一大特征:封装..

封装:就是隐藏对象的属性和实现细节,仅对外提供公共的访问方式..

封装原则:

将不需要对外提供的内容都隐藏起来...

把属性都隐藏,提供公共方法对其访问...

其实函数就是最小的封装体,它把功能的实现细节都封装隐藏到了方法内部,对外提供了公共的方法名称去访问..

封装的好处:隔离了变化,提高了安全性,提高了复用性...

那么,怎么去封装隐藏呢:我们可以使用隐藏的最低权private...private:用于访问权限修饰符的关键字,它能修饰类中的成员(成员变量和成员方法)..被private修饰的成员就被封装在了本类中,只在本类中有效,只能在本类中访问,外界访问不到..注意:封装不是private(私有),私有只是封装的一种表现形式..


构造函数:函数名与类名相同,不用定义返回值类型,不可以写return语句...是给相对应的对象进行初始化的..对象一建立,就会调用与之对应的构造函数...

当一个类中没有定义构造方法,那么系统会默认给该类加一个空参数的构造方法..方便给对象进行初始化,否者对象是建立不出来的...如果再累中自定义了构造方法,那么默认的构造方法就没有了..

构造方法与一般方法不仅仅在写法上有不同,在运行上也不同:构造方法是在对象一建立就运行,给对象进行初始化的..而一般方法是在调用的时候才运行,给对象添加功能的...

还有就是一个对象建立,构造方法只执行一次,而一般方法可以被对象多次调用执行...

构造代码块:



对于引用实例关键字this:this代表本类对象,哪个对象在调用this所在的函数,this就代表哪个对象..

那么什么时候能应用到this呢:通过一段代码来总结:


通过以上代码我们可以看出:this不仅仅用来区分局部变量和成员变量的同名情况,还能看出不管那个对象调用到了this所在的函数,this就代表了哪个对象...总结起来就是:当类中定义方法时,该方法内部用到了 需要调用该方法的对象时,这时就用this来表示这个对象...

this还有一个重要的作用:用于构造函数之间的调用:

一个类中的构造函数要调用的话,不能使用一般函数的调用方法,要用this()形式的语句来调用..也就是说this()语句只能用于构造函数之间的调用,不能用于一般函数间调用...

this()语句必须要定义在构造函数的第一行。因为初始化动作要先执行,如果初始化里还有初始化,必须要先执行那个更细节的初始化动作....


通过本课的学习,以上我对面向对象的理解,类与对象的关系,如何去定义一个类,类的三大特征之一封装,构造函数以及引用实例关键字this的用法,都一一做了总结,希望能对自己和大家提供些小小的帮助..