031_面向对象_04_程序执行过程的内存分析_01
一、概念部分
a)属性(field):也叫成员变量,在类体(类内方法外)的变量部分中定义的变量。
属性用于定义该类或该类对象包含的数据或者说静态属性。属性的作用范围是整个类体
b)局部变量:定义在语句块/方法里面的变量。只有该语句块、方法能使用,并且使用前必须要进行手动初始化。语句块或者方法结束该变量自动销毁。
c)方法(method):是用来模拟类所具有的能力,动作或者行为,一般为名词。
在java中方法的参数传递:值传递。
d)栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。
e)堆(英语:heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。
f)方法区
二、变量的定义格式
[修饰符public/(protected/默认为空)/private] [static] /[final] 属性类型 属性名([;]/[ = 属性值])
属性名为java合法标识符即可。
三、方法的定义格式
[修饰符public/(protected/默认为空)/private] [static] /[final] 返回值 方法名(形参数1,形参2,..){ 方法体 }
四、默认初始化
在定义成员变量时可以对其初始化,如果不对其初始化,Java使用默认的值对其初始化。
引用类型默认初始值为:null
整数(byte,short,int,long)初始值为:0
浮点数默认初始值:0.0
boolean类型默认初始值:false
五、测试默认初始值
package edu.aeon.test; /** * [说明]学生类 * @author aeon * 类包括静态的属性和动态行为 */ public class Student { /**学生证号*/ private int stuId; /**学生姓名*/ private String stuName; /**学生性别 0(false)-女 1(true)-男*/ private boolean sex; /** * 动态行为:学习 */ public void stard(){ System.out.println(stuName+"正在学习!"); } public static void main(String[] args) { /**创建学生对象(实例)*/ Student student=new Student(); System.out.println("==================默认初始化=================="); System.out.println("学生证号:"+student.stuId); System.out.println("学生姓名:"+student.stuName); System.out.println("学生性别:"+student.sex); System.out.println("==================程序初始化=================="); student.stuId=10010; student.stuName="张三"; student.sex=true; System.out.println("学生证号:"+student.stuId); System.out.println("学生姓名:"+student.stuName); System.out.println("学生性别:"+(student.sex==true?"男":"女")); } }
测试结果截图:
六、内存分析图