java之面向对象

面向对象的特点

  • 特点:封装,多态,继承(抽象)
  • -封装:将功能封装在方法中 ,属性私有化,对外提供公开的get和set方法

  • 类:类别/类型

对象

  • 对象:基于类抽出来的真实存在的单个个体(万物皆对象)---.new出来的对象

变量

  • 成员变量:定义在方法外面,类里面
  • 局部变量:定义在方法中的变量
  • 静态变量:加了static修饰的成员变量
  • 实例变量:没有加static修饰的成员变量
  • 类变量:就是静态变量
  • 常量:加了final和static修饰的成员变量

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

  • 定义的位置不一样:
    成员变量定义在类里面,方法外面
    局部变量是定义在方法里面
  • 初始值不一样
    成员变量有默认的初始值(等同数组的默认值)
    局部变量没有默认的初始值
  • 内存中的位置不一样
    成员变量在堆里面
    局部变量在栈里面
  • 生命周期不一样
    成员变量是从类的对象创建开始时到对象被回收时结束
    局部变量是从方法的调用开始,到方法结束时结束

堆,栈,方法区(内存中划分的区域)

  • 堆:存放new出来的东西和成员变量
  • 栈:存放局部变量和地址的值
  • 方法区:静态方法以及类的结构

注:方法区中的东西只有一份(所有对象都共用)

image
image
image
image

posted @ 2022-09-15 20:18  梦梦想睡觉  阅读(14)  评论(0编辑  收藏  举报