JAVA中的面向对象-2

1.如果没有定义构造方法,系统会给出一个默认的无参构造。

  1. 内存区域划分:

栈内存:存放方法调用及局部变量。

堆内存:存放通过 new 创建的对象。

方法区:存放字节码(类信息),一般不会消失,除非关闭虚拟机。

  1. Java 中对象的内存分配流程:

(1)加载 class 文件到方法区

(2)申请局部变量

(3)在堆中开辟空间

(4)默认初始化(成员变量赋默认值)

(5)显式初始化(直接赋值)

(6)构造方法初始化

(7)将堆内存地址值赋给栈中的引用变量

  1. this:表示所在方法的调用者对象的地址值,用于区分局部变量与成员变量等场景。

  2. static:表示静态,是 Java 修饰符,用来修饰成员变量或成员方法。

(1)修饰成员变量时:称为静态变量,被该类的所有对象共享。

练习:

(2)static 修饰成员方法

作用:让方法属于类名,而不属于某个具体的对象(即无需创建对象,直接通过类名调用)。

注意:

静态方法中只能直接访问静态变量,不能直接访问非静态成员变量。

静态方法中没有 this 关键字。

6.final:表示最终、不可变。可以用来修饰变量、方法等。

7.枚举:是特殊的JAVAbean类,个数是有限的。

public enum 枚举类型名称 {

枚举值1, 枚举值2, ...;

属性;

方法;

}

相关推荐
djarmy1 小时前
MAIN.c(1): warning C318: can’t open file ‘STC8G.H’ 报错 解决 分析
c语言·开发语言·mongodb
HEJOO91 小时前
深入理解 Java volatile 关键字:原理、用法与常见误区
java·开发语言·spring
曹牧1 小时前
Java:no content to map due to end of input
java·开发语言
阿维的博客日记1 小时前
Example 类全场景实战指南
java·mybatis
梦梦代码精1 小时前
《回收租赁系统技术选型避坑指南:业务闭环与二开自由度详解》
开发语言·低代码·docker·开源·代码规范
两点王爷2 小时前
SpringBoot 项目集成 GeoServer 源码,实现地图服务发布
java·spring boot·后端
隔窗听雨眠2 小时前
记一次SQL Server数据库性能分析:从CPU100%到单配置修复的完整诊断
开发语言·数据库·php
David猪大卫2 小时前
【C++修炼】智能指针使用及原理
开发语言·c++·经验分享·笔记·学习·考研·面试
charlie1145141912 小时前
现代Qt开发之图像处理进阶:像素操作与格式转换
开发语言·图像处理·qt
李永奉2 小时前
中科蓝讯SDK开发-BT893x 面条耳机连接vivo手机后连接APP端,最后手机端设置页面手动断开蓝牙连接,此时耳机端假断开
c语言·开发语言·嵌入式硬件·物联网·智能手机·电脑