面向对象编程+方法区概念

  • 一.面向过程编程


    开发一个一个的方法,有数据要处理了,我们就调方法来处理。
  • 二.面向对象编程


    开发一个一个的对象来处理数据,把数据交给对象,再调用对象的法来完成对数据的处理。
    • 1.谁的事情谁来做——万物皆对象


      计算机是用来处理数据的
      • img
    • 2.对象和类的关系
      • 类是对象的模板,约束对象的属性和行为
      • 对象是类的具体实例
    • 3.创建类:
      命名规则:大驼峰——全部单词首字母大写
      • 1.java类:
        • 属性
        • 功能(行为,方法)
          定义方法不加 static
      • 2.测试类:通过main方法,创建对象
        • new对象
        • 设计属性
        • 调用功能
    • 4.成员变量和局部变量的区别
      • 类中位置不同:
        • 成员变量——类中,方法外
        • 局部变量:常见于方法中(形参或单独定义)
      • 初始化值不同:
        • 成员变量——有默认值, 不需要初始化赋值
        • 局部变量:没有默认值,使用之前必须完成赋值
      • 内存位置不同:
        • 成员变量——堆内存
        • 局部变量:栈内存
      • 作用域不同:
        • 成员变量——整个对象
        • 局部变量:在所归属的大括号中
      • 生命周期不同:
        • 成员变量——与对象共存亡
        • 局部变量:随着方法的调用而生,随着方法的运行结束而亡
    • 5.类和对象的一些注意事项
      • 1.类名建议用英文单词,首字母大写,满足驼峰模式,且要有意义,比如:Student、Car…
      • 2.类中定义的变量也称为成员变量(对象的属性),类中定义的方法也称为成员方法(对象的行为)。
      • 3.成员变量本身存在默认值,在定义成员变量时一般来说不需要赋初始值(没有意义)。

      • 4.对象名要求和类名相似,但是需要首字母小写,建议和类名同名一个代码文件中,可以写多个class类,
      • 但只能一个用public修饰,且public修饰的类名必须成为代码文件名。
    • 6.封装:
      封装的设计规范:合理隐藏、合理暴露
      • 1、什么是封装?
        • 就是用类设计对象处理某一个事物的数据时,应该把要处理的数据,以及处理这些数据的方法,设计到一个对象中去。
        • 面向对象的三大特征:封装、继承、多态。
      • 2、代码层面如何控对象的成员公开或隐藏?
        • 公开成员,可以使用public(公开)进行修饰。
        • 隐藏成员,使用private(私有,隐藏) 进行修饰。
    • 7.this关键字
      • 1、this关键字是什么?
        • this就是一个变量, 可以用在方法中 ,用来代表调用当前方法的对象;哪个对象调用方法,this就指向哪个对象,也就是拿到哪个对象。
      • 2、this关键字在实际开发中常用来干啥?用来解决对象的成员变量与方法内部变量的名称一样时,导致的访问冲突问题
      • 3、成员变量和局部变量的区别类中位置、初始化值、内存位置、作用域、生命周期
    • 8.构造器——也叫构造方法
      • 1. 构造器在哪里调用,我们常用它来干嘛?
        • 构造器用于完成对象创建;使用有参数构造器,可以创建对象的同时对属性赋值
      • 3. 构造器在使用时,有哪2个注意事项?
        • 类在设计时,如果不写构造器,Java会为类自动生成一个无参构造器的
        • 一旦定义了有参构造器,Java就不会帮我们的类生成无参构造器了,此时就建议自己手写一个无参构造器出来了
    • 9.执行原理
      栈:先进后出 堆:先进先出 方法区:‌它主要负责存储已被加载的类(class)信息
      • 1.程序开始:main.class进入方法区,main方法进入栈内存中

      • 2.Student.class进入方法区,在堆内存中生成成员变量,和成员方法的地址(成员方法还在方法区),
      • 3.在栈内存的main方法区中创建Student的对象,存储的是堆内存中Student的地址,
      • 4.当调用属性时,直接去堆内存中找;当调用方法时候,先找到堆内存中方法的地址,在去方法区调用,让方法进栈
      • 5.程序结束时,先让方法区的Student成员方法出栈,再让main出栈,然后清空堆内存,清空方法区。
  • 三.方法区:

    • 方法区是Java虚拟机(‌JVM)‌内存管理的一部分,‌它主要负责存储已被加载的类信息,‌
    • 包括类的名称、‌访问修饰符、‌成员变量和方法的信息等。‌
    • 此外,‌方法区还存储常量,‌这些常量可以是字符串、‌数字或其他基本类型的值。‌
    • 静态变量也是方法区的一个重要组成部分,‌它们是在类级别定义的变量,‌而不是在对象级别。
    • ‌最后,‌即时编译(‌JIT)‌代码也被存储在方法区中,‌这是为了提高程序的执行效率。‌
  • 12
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值