面向对象

96 阅读2分钟

什么是面向对象

当你有一个需求的时候,你利用或者创建一个工具(对象)来完成这个需求

面向对象的特点:

  • 可以将复杂的事情简单化
  • 可以让我们从执行者成为指挥者(角色发生了转变)

面向对象的特征:

  • 封装(encapsulation)
  • 继承(inheritance)
  • 多态(polymorphism)

java中最基本单位是类(class)

类:

抽象出一类事物共有属性和行为的集合,简单的说就是对事物模糊概括,抽象的

对象:

是该类具体的体现,简单说就是对类的精准实例化

定义类:

其实就是定义类的成员(成员变量和成员方法)---属性 和 行为

成员变量:(是事物的属性)跟之前学的变量是一个概念,只不过写在类中,方法之外

成员方法:(是事物的行为)和之前的方法类似,只不过去掉static(static后期再说)

什么时候需要定义一个类?

有共性需求的时候,就可以定义一个类

类的使用:

对类进行实例化(new对象.创建类的对象)

格式:类名 对象名 = new 类名( );

对象名.变量名

对象名.方法名(有参需要传参)

成员变量和局部变量的区别:

1、在class中的位置不同

  • 成员变量:类中方法外
  • 局部变量:类中方法内

2、在内存中的位置不同(了解)

  • 成员变量: 堆中 (成员变量属于对象,对象消失成员消失) 垃圾回收机制 回收的时候才会消失
  • 局部变量: 栈中(局部变量属于方法,方法消失 局部变量就消失)

3、生命周期不同

  • 成员变量:随着对象创建而存在的,随着对象的消失而消失
  • 局部变量:随着方法创建而存在,随着方法的调用完毕而消失
  1. 初始化的值不同
  • 成员变量:有默认初始化值 null
  • 局部变量:没有默认初始化值

注意:

成员变量和局部变量是可以重名的,如果使用,采用就近原则

在一个类中禁止有两个重名的class

什么时候用成员变量,什么时候用局部变量???

在类中多个方法想操作同一个变量的时候,就可以把变量提升为成员变量。