黑马程序员——面向对象笔记

1、什么叫面向对象?

-----------android培训java培训、java学习型技术博客、期待与您交流!------------  

面向对象就是一种常见的程序结构设计方法。

1.它是相对于面向过程而言的。

2.面向对象和面向过程都是思想,是思考方式。

3.面向过程强调的是行为,面向对象强调具备这些行为的实体,即对象。

5.面向对象基于面向过程
面向对象思想的基础是将相关的数据和方法放在一起,组合成一种新的复合数据类型,然后使用新创建的复合数据类型作为项目的基础。

 

面向对象是一个很抽象的概念,它相对面向过程而言。

过程与对象都是一种解决问题的思想。

面向过程:强调的是功能行为,一种过程,先干啥,再干啥;

面向对象:将功能封装到对象里,强调的是具备某功能的对象;

按照面向对象的思想,可以把任何的东西看做对象!

总结:

面向过程:强调的是具体的功能实现;(执行者)

面向对象:强调的是具备功能的对象。(管理者)

2、类和构造函数

 

类是对一类事物的抽象描述。对象是这类事物实在的实体。定义类就是描述类的属性和行为。属性是成员变量,行为是成员函数。

类一般具有成员和构造函数两个部分。

构造函数:用来构造类的实例(每一个类都默认有一个无参的构造方法,得使用new调用),类名(参数列表){执行语句;}

1.函数名与类名相同

2.不用定义返回值类型

3.不可以写return语句

4.多个构造函数是以重载的形式存在

5.当一个类中没有定义构造函数,系统会自动添加默认构造函数。一旦定义了构造函数,系统就不会添加默认构造函数。

默认构造函数:类名(){}

6.构造函数私有化后,该类无法在外部建立对象。因为私有化后它就不能被外部调用,就无法进行对象初始化。

构造函数和一般函数差异:

1.定义的结构不同

2.构造函数是在对象一建立就运行,给对象初始化。而一般函数是在对象调用才执行,是给对象添加对象具备的功能。

3.一个对象建立后,构造函数只能运行一次,而一般函数可以被对象调用多次。

 

什么时候使用构造函数?

1.对象一被创建就具备一些属性和立即执行的功能,就可以讲这些内容定义在构造函数中。

2.当有未知内容时,就要定义一个有参数列表的构造函数

类的定义:

[修饰符] class  类名{

    1~n个构造方法;

    0~n个字段;

    0~n个方法

}

定义类,其实就是定义类里面的对象

对象包含:

状态;(属性)

功能、行为;(方法)

通过类来描述对象;

状态--------成员变量;

功能、行为——方法;

 

总结:

类是抽象的,对象是具体的

注意:

默认构造方法的特点。

多个构造方法是以重载的形式存在的。

 

构造方法的重载:

              this([实参]);调用当前类的构造方法

              注意: this([实参]);必须放在构造器的第一行;

对象的产生格式:

类名称  对象名 = new  类名称();

 

 

 

3、static关键字

 

特点:

随着类的加载而加载

优先于对象存在

被所有对象所共享

可以直接被类名调用

使用注意:

静态方法只能访问静态成员

但是非静态成员可以访问静态成员;

静态方法中不可以使用this,super关键字

主方法(main)是静态的(可以利用类名去调用静态的main方法,很正常!但是会陷入死循环,导致内存溢出,jvm自动停止!)

public staticvoid main(String[] agrs){}

 

可修饰字段,方法。

用static 修饰的成员表示它属于这个类共有,而不是属于该类的单个实例。

              static修饰的字段 == 类字段

              static修饰的方法 == 类方法

 

没使用static修饰的字段和方法,成员属于类的单个实例,

       不属于类。

              没有static 修饰的字段 == 实例字段

              没有static 修饰的方法 == 实例方法

 

类和实例访问字段和方法的语法:

访问类成员:       类.字段     类.方法

访问实例成员:    实例.字段         实例.方法

总结:

static 修饰的字段和方法,既可以通过类调用,也可以使用实例调用;

没static 修饰的字段和方法,只能使用实例来调用(建议使用:类名来调用;    其实在底层,对象调用类成员,也会转换类名调用)

static关键字不能与this,super同时连用!

4、this关键字

特点:this表示当前对象。

当前对象  ←→  当前正在调用实例成员的对象

换言之:谁调用了方法,谁就是当前对象。

 

什么时候使用this关键字呢?

方法间的相互调用;

this.字段;

构造器中相互调用,但是此时this([参数])必须写在构造方法第一行。

this不能用在static修饰的方法里和static修饰的代码块里;

5、匿名对象

 

一个没有名字的对象,  创建了一个对象出来,没有赋给一个变量;

特点:

对方法或字段只进行一次调用时;

可作为实际参数进行传递;

只在堆里面开辟存储区域,

只能使用一次,  使用完就被销毁了;

何时使用?只拿来用一次!!

new Person();表示匿名对象,没有名字的对象

new Person().age = 17;//使用一次之后就被销毁了

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
黑马程序员的tb_brand是指在JavaWeb基础教程中创建的一个表。这个表是用来存储品牌信息的,具体的表结构和数据类型需要和JavaBean类中的成员变量保持一致。\[1\]在这个教程中,使用了Maven来构建项目,并且使用了MyBatis作为持久层框架,通过配置pom.xml文件来引入相关依赖。\[2\] Maven是一个用于管理和构建Java项目的工具,它提供了一套标准化的项目结构、构建流程和依赖管理机制。\[3\] #### 引用[.reference_title] - *1* [【JAVAWEB开发】黑马程序员java web案例资料(含Element的删除与修改)](https://blog.csdn.net/aasd23/article/details/126940147)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [黑马程序员-MyBatis 框架-最全入门笔记、阿伟看了都得说真大、真细、真全!!!](https://blog.csdn.net/qq_57383364/article/details/128103058)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [JavaWeb——黑马程序员课程笔记](https://blog.csdn.net/King_ZACC/article/details/128573804)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值