目标黑马,我的自学之路:第三章 面向对象(上)

一、面向对象的概念

       1、面向对象和面向过程

        面向对象和面向过程都是一种思想,不同之处在于面向对象是相对于面向过程而言的,面向过程强调的是功能行为,面向对象是将功能封装进对象,强调的是具备了功能的对象,面向对象是基于面向过程的,面向对象能把复杂的问题简单化,能让我们从执行者变成指挥者。

2、类和对象

       类是对现实生活中事物的描述,定义类就是在描述事物,就是在定义事物的属性和行为,属性和行为共同成为类中的成员,对象是这类事物实实在在存在的个体,描述对象就是提取对象的共性内容,对具体的抽象描述用类实现,对象通过new产生实体(在堆内存中)。

3、匿名对象

        匿名对象是对对象的简写,使用方式有两种:(1)当对对象的方法只调用一次时,可以使用匿名对象。

                                                                        (2)匿名对象可以作为实际参数进行传递。

4、成员变量和局部变量

        成员变量存在于堆内存中,局部变量存在与栈内存中,成员变量一被创建就有默认初始化值,就可以参与运算,而局部变量必须要进行初始化后才能参与运算

二、面向对象三大特征之封装

       1.封装的概述:封装就是隐藏对象的属性和实现细节,仅对外提供公共访问方式,它的好处在于能够将变化隔离,便于使用,提高了重用性和安全性,封装的原则是将不需要对外提供的内容都隐藏起来,将属性都隐藏起来,提供公共的访问方法对其访问,封装的方法为使用私用修饰符private,它是一种权限修饰符,用于修饰类中的成员,值得注意的是私有只是封装的一种体现形式,并不代表封装就是用private修饰。对外提供访问方法的原因是在其中加入逻辑判断等语句,对访问的数据进行操作,提高代码的健壮性。

        2、构造函数和构造代码块:构造函数的特点是函数名与类名相同,不用定义返回值类型,不用写return语句,作用是给对象进行初始化,当类中没有定义构造函数时,系统默认加一个空参数的构造函数,如果定义了构造函数,则就不会加上这个空参数的构造函数。

        构造函数与一般函数的区别不仅写法不同, 运行方式也不同,构造函数对象一被建立就执行,用于给对象进行初始化,一般函数只有被调用才执行,用于给对象添加对象具备的功能,构造函数在创建对象时只执行一次,一般函数能够被对象多次调用

        构造代码块用于定义不同对象的共性初始化内容,给对象进行初始化,对象一被建立就运行,而且优于构造函数,与构造函数的区别是构造函数是给对应的对象进行初始化,而构造代码块是给所有对象进行统一初始化。

       3、this关键字:代表的是本类对象,用于方法中时是指所在函数所属对象的引用,this语句用于构造函数间调用,且放在第一行,因为初始化语句要先执行。

       4、static关键字和static代码块:static是一个修饰符,用于修饰成员,静态修饰的内容被对象所共享,它可以被类名直接调用。

       static的特点:(1)随着类的加载而加载  (2)优先于对象存在   (3)被所有对象共享  (4)可以被类名所调用

      静态成员变量/类变量与成员变量/实例变量的区别:(1)类变量随着类的加载而加载,存在于方法区中,实例变量随着对象的创建而加载,存在于堆内存中。

                                                                                 (2)类变量随着类的消失而消失,生命周期长,实例变量随着对象的消失而消失。

       static使用注意事项:(1)静态方法只能访问静态成员,非静态方法可以访问静态成员 (2)静态方法中不能使用this、super关键字,因为静态优于对象存在(3)主函数是静态的

       static的使用:(1)什么时候使用静态成员变量:当对象中出现了共享数据时,该数据被静态修饰,对象的特有数据定义成非静态。

                             (2)什么时候定义静态函数:当功能内部没有访问到非静态成员时,该功能可以被静态。

       static的利弊:好处是对对象的共享数据进行单独空间的存储,解约内存,可以被类名直接调用,坏处是声明周期长,访问出现局限性。

       static代码块:随着类的加载而运行,用于给类进行初始化,只能运行一次,优先于主函数

       5、主函数:它是一个特殊的函数,作为程序的入口可以被JVM所调用,public代表主函数的访问权限是最大的,static代表主函数随着类的加载就已经存在了,void代表主函数没有具体的返回值,main不是关键字,但是是一个特殊的单词,能够被JVM所识别,主函数的参数是String[] args,参数的类型是一个String类型的数组参数个数为0

       6、说明文档的创建:通过/**    */这种注释方式完成,其中加入@author作者、@version 版本信息 、@param 变量、@return 结果等几种信息,通过javadoc命令完成,形式为javacdoc -d -author -version 文件名,注意类需要被public或者protected所修饰。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值