虚拟机中的内存区域划分,只是程序界给出的一种虚拟的概念

  1. :程序运行的区域,效率最高,方法的调用执行,基本数据类型定义(局部变量)
  2. :用于存储引用数据类型的区域
  3. 方法区:所有类的方法都在方法区
  4. 计数器:当前线程所执行的字节码的行号指示器
  5. 本地方法区:执行native修饰的方法
    JAVA内存图解
    非静态方法或属性必须通过对象进行调用,对于静态属性或方法通过类名或对象进行调用,但是不建议使用对象。
  1. private私有化
    调用者:通常说的是其它类(除了本身之外的类)
    限制方案:缩小属性的可见范围,只能在本类中可见,其他类中不可见
    思问题考:非静态的属性和方法只能通过对象进行调用,然后呢,通过对象去调用方法给属性进行赋值是赋值的一种方法,发现也可以通过对象直接调用属性来进行赋值操作,因此,就考虑两者之间有什么区别?
    JAVA内存图解
    思考后的结果:如果是通过对象调用属性进行赋值,那么,调用者可以随意的去修改属性值,这种操作是不安全的,然后发现,使用方法的形式可以添加约束来限制调用者可赋值的一些规则。
    JAVA内存图解
    需要处理的问题:如何能够避免让调用者去随意的修改属性值,其实就是如何能避免调用者查找到类中的具体属性,然后暴露出一些规则,让调用者可以进行正常的使用?

方案:将属性私有化,并提供带有规则的公共的方法以供调用者使用
JAVA内存图解

相关文章:

  • 2021-12-13
  • 2022-12-23
  • 2021-06-14
  • 2021-12-14
  • 2022-12-23
  • 2021-12-04
  • 2021-05-30
猜你喜欢
  • 2021-07-02
  • 2021-08-02
  • 2022-01-12
  • 2021-09-27
  • 2021-08-19
  • 2021-09-23
  • 2021-04-04
相关资源
相似解决方案