OOP学习Day01

OOP学习笔记


前言

OOP:面向对象的相关学习,比如,oop概念,

一、定义类和对象

1.1、类和对象的关系

  1. 什么是类:就是属性和方法的集合(使用事物的属性特征和行为特征来描述该类事物)
  2. 什么是对象:对象是一类事物的具体体现,它是类的一个实例,对象必然具备该类的属性
  3. 类和对象的关系
 - 类是对一类事物的描述,是抽象的 
 - 对象是一类事物的实例,是具体的
 -  类是对象的模板,对象是类的实例

1.2、定义类 和对象

1.2、步骤

  1. 编写属性(特征):姓名,性别,年龄,学号
  2. 编写方法(行为):学习,吃饭

1.3、注意事项

  1. 类的属性是成员变量
  2. 类的方法是成员方法,不加static 关键字

二、面向对象

2.1、面向过程

侧重的过程,它是一种线性思维
步骤简单清晰,第一步要做什么,第二步要做什么…

22、面向对象(OOP)

面向对象:它是Java的核心思想,它是一种分类的思维模式
再处理问题之前,将这个问题分成若干个的小部分(分类),然后对这些分类进行单独的思考
最终还是对这个分类下的细节进行面向过程的处理

**面向对象编程 OOP:**本质是:就是以类的方式组织代码,以对象的方式组织(封装)数据

2.3、面向对象和面向过程的区别

2.4、面向对象的特点(抽象)

抽象:指的是忽略主题中与当前目标无关的方面,以充分的注意 与当前目标有关的方面(抽出我m9们需要的东西,其余内容不用管)
简单理解:(就是把需要的相同部·分抽离出来,归纳为一个类)

2.5、面向对象的三大特征

  1. 封装:是指将类的信息隐藏在类的内部,不予许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问
  2. 继承:是指子类和父类之间,子类拥有父类的一切非私有的属性的方法
  3. 多态:同一种事物的不同表现形式

三、对象的方法

3.1、语法

public 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...{
	//方法体
	return 数据;
}

3.2、this关键字

定义:当方法的局部变量 和 类的成员变量重名的时候,会根据【就近原则】,优先使用局部变量,
如果需要访问本类中的成员变量:可以使用this关键字
格式:this.成员变量名
注意:通过谁调用方法,this就指向谁(谁就是this)

四、构造方法的作用

4.1、 什么是构造方法

是专门用来创建对象的方法,当我们通过new 关键在来创建对象的时候,其实就是在调用构造函数

4.2、格式:

public 类名称(参数类型 参数名称1,参数类型 参数名称2…){ // 方法体}

4.3、构造方法的作用

  1. 使用new关键字,本质上就是调用构造方法(构造器)、
  2. 用来初始化值

4.4、注意事项(8点)

  • 构造方法的名称必须和类名【完全一致】

  • 构造方法不写返回值类型,void也不要写

  • 构造方法不能return一个具体的返回值

  • 如果没有写任何构造方法,编译器会默认赠送一个构造方法

    赠送的构造方法:没有参数、方法体什么事情都没有做

  • 一旦我们编写了至少一个构造方法,编译器赠送的构造方法就消失了

  • 构造方法也可以重载(方法名相同,参数列表不同)

  • 重载构造方法后,想要使用无参数构造,需要显示一个定义的无参构造

  • 快捷键 alt + insert

五、static关键字

5.1、static关键字修饰成员变量

  • 如果一个变量使用了static 关键字修饰,那么这个变量不在属于对象自己,多个对象共享一个数据
  • static 修饰的变量 叫做 静态变量 也叫类变量 或者类属性

5.2、static 修饰成员方法

一旦使用static 修饰了成员方法,叫静态方法也叫类方法 ,那么这个方法就成为了静态方法,静态方法不属于对象,而是属于类

如果没有static 关键字,必须先创建对象,才能通过【对象名.方法名】的方式调用

如果有static 关键字,不需要创建对象,直接通过【类名.方法名】的方式调用

不管是成员方法还是成员变量,通过static 关键字修饰以后,都不推荐使用对象名调用,推荐:【类名.静态变量】【类名.静态方法()】

5.3、注意事项

  • 静态的不能直接访问非静态
  • 原因:因为内存中是【先】加载静态方法内容,【后】加载非静态内容
  • 静态方法中不能使用this
  • 原因:this代表的是当前对象,谁调用方法就指向谁,而静态方法属于类

5.4、静态代码块

定义:static 关键字修饰代码块就是静态代码块
特点:当第一次使用到本类时,静态代码块会执行一次,而且只执行唯一的一次

​ 静态内容总是优先与非静态的,所以静态代码块比构造方法优先执行

六、面试题

讲讲你对OOP和面向对象的理解

在这里插入代码片

static的作用

在这里插入代码片
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值