当前位置: 首页 > news >正文

JAVA---面向对象(下)

重生之我开始补知识第三集

1.标准 JavaBean

要求:

1)类名需要见名知意

2)成员变量使用private修饰

3)至少提供两个构造方法

      a.无参构造方法     b.带全部参数的构造方法

4)成员方法

      a.提供每一个成员变量对应的 setxxx()或 getxxx()

      b.如果还有其他行为,也需要写上

快捷键:alt + insert   或 alt + fn + insert

插件:PTG(需要连接外网),可以1s生成标准 JavaBean

2.对象内存图

1)一个对象的内存图

a. 加载class文件

b. 申明局部变量

c. 在堆内存中开辟一个空间

d. 默认初始化

e. 显示初始化

f. 构造方法初始化

g. 将堆内存中的地址值赋值给左边的局部变量

2)两个对象的内存图

3)两个引用指向同一个代码

当两个变量指向同一个空间的时候,只要有其中一个变量对这个空间里的值发生了改变,那么其他的变量再次访问的时候,就是改变之后的结果了。

3.基本数据类型和引用数据类型

1) 基本数据类型

整数类型、浮点数类型、布尔类型、字符类型

数据值是存储在自己空间中的

特点:赋值给其他变量,也是赋的真实的值

2)引用数据类型

除了基本数据类型的其他所有类型

数据值是存储在其他空间中的,自己空间中存储的是地址值

特点:赋值给其他变量,赋的是地址值

4. this 的内存原理

回顾一下

 this 的作用:区分局部变量和成员变量

 this 的本质:所在方法调用者的地址值

5.成员变量和局部变量的区别

成员变量:类中方法外的变量

                  有默认初始值

                  堆内存

                  随着对象的创建而存在,随着对象的消失而消失

                  整个类中都有效

局部变量:方法中的变量

                  没有初始值,使用之前需要完成赋值

                  栈内存

                  着方法的调用而存在,随着方法的运行结束而消失

                  当前方法中有效

相关文章:

  • Base64编码原理:二进制数据与文本的转换技术
  • Pandas 数据导出:如何将 DataFrame 追加到 Excel 的不同工作表
  • 大数据开发环境的安装,配置(Hadoop)
  • 【MySQL数据库入门到精通-07 函数-字符串函数、数值函数、日期函数和流程函数】
  • Freertos--统计所有任务栈信息以及CPU占比和钩子函数
  • 声音分离人声和配乐base,vocals,drums -从头设计数字生命第6课, demucs——仙盟创梦IDE
  • txtai:全能AI框架
  • 【Unity 与c++通信】Unity与c++通信注意事项,参数传递
  • Zeppelin在spark环境导出dataframe
  • pandas读取MySQL中的数据
  • Swift中Class和Struct的深度对比分析
  • 【C++基础知识】折叠表达式详解--结合上一篇
  • Qt ModbusSlave多线程实践总结
  • 基于STM32、HAL库的MCP3421A0T模数转换器ADC驱动程序设计
  • Axure全局变量的含义与基础应用
  • 百度搜索AI开放计划:助力开发者通过MCP Server连接用户和应用
  • Spring Cloud Gateway 如何将请求分发到各个服务
  • 【Harmony OS】组件
  • 从零开始学Python游戏编程39-碰撞处理1
  • ESP-ADF esp_dispatcher组件之dispatcher介绍
  • 单位被裁定补缴12年社保,滞纳金该谁出?
  • 鞍钢矿业党委书记、董事长刘炳宇调任中铝集团副总经理
  • 杨荫凯已任浙江省委常委、组织部部长
  • 一季度公募管理规模出炉:44家实现增长,4家规模环比翻倍
  • 远程控制、窃密、挖矿!我国境内捕获“银狐”木马病毒变种
  • 神舟二十号载人飞船与空间站组合体完成自主快速交会对接