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, ...;

属性;

方法;

}

相关推荐
Frank_refuel几秒前
【C++项目】手撕JRpc框架(单机怎么优化到分布式思想)
开发语言·c++
卓怡学长3 分钟前
w192基于springboot“考研情报站”微信小程序设计与实现
java·spring boot·spring·微信小程序·intellij-idea
wuminyu14 分钟前
JEP491中synchronized关键字引发的平台线程钉住解决方法简介
java·linux·c语言·jvm·c++
可乐鸡翅yeah_19 分钟前
fmp4 碎片 MP4 格式 HLS 流,和传统 TS 分片有什么不一样
开发语言·javascript·ios·音视频·safari·m3u8·m3u8在线播放
流形填表21 分钟前
多校区题库标准化:Excel模板与校验脚本
开发语言·python
All for pursuit.23 分钟前
【贪心-4】581.最短无序连续子数组
数据结构·c++·算法·leetcode
步行cgn30 分钟前
AOP 通知的类型详解
开发语言
weixin_3077791333 分钟前
从“人操作仪器”到“Agent 自主发现”:OPL 金属材料自驱动实验室 MVP 技术论述
开发语言·人工智能·算法·架构
笑鸿的学习笔记1 小时前
C++笔记之SIMD与SSE指令集
开发语言·c++·笔记
anew___1 小时前
《从零手写操作系统 (20):ELF加载器——让OS读懂现代编译器》
java·服务器·前端