类是以一个个文件的形式存在的。
包是以文件夹的形式存在。包是用来放类的组织单位,包(文件夹)中含有很多的类(文件)
命名规范大总结:类名、包名、方法名、变量名称
1.不能以数字开头
2.不能出现特殊符号(字母、数字、下划线、$)
3.类名通常HelloWorld
方法名和变量名 hellloWorld
包名 hello_world
方法的调用栈
调用栈(call stack)主要用于表现此刻方法的调用关系。
Java中的内存管理1:
内存(硬件) -> OS(操作系统) -> JVM ->栈区(有栈帧组成:每个栈帧对应一次方法调用)
局部变量就在该变量对应的方法的某次栈帧上
局部变量包含形参。
java中的栈(调用栈)、栈帧(frame);都是JVM管理的内存的某个名称
局部变量在保存在栈帧中的(方法的每次调用,都有一个唯一的栈帧,方法执行结束,栈帧结束)
局部变量的生命周期:
开始于方法开始执行:JVM为本次方法允许分配好了栈帧
结束于方法执行结束:JVM将方法执行中用到的栈帧回收
形参的改变不会影响实参(java中全部是传值调用)
在
Java
中,实参的值永远都是拷贝到形参中,形参和实参本质是两个实体
实参
a
和
b
是
main
方法中的两个变量,其空间在
main
方法的栈
(
一块特殊的内存空间
)
中,而形参
x
和
y
是swap方法中的两个变量,
x
和
y
的空间在
swap
方法运行时的栈中,因此:实参
a
和
b
与 形参
x
和
y
是两个没有任何关联性的变量,在
swap
方法调用时,只是将实参
a
和
b
中的值拷贝了一份传递给了形参
x
和
y
,因此对形参x
和
y
操作不会对实参
a
和
b
产生任何影响。