行为:也是面向对象中非常关注的一个焦点,在java中以实例方法的形式体现。
方法:
1.静态方法(类方法) 加static修饰 不能访问属性,不可以使用this
2.普通方法(实例方法) 不加static修饰 能访问属性,可以使用this
调用:
实例方法的调用,必须依赖于一个对象(通过引用)的存在。
在静态上下文(static context)中无法直接调用普通方法、访问对象属性。
对static的理解
加了static之后,只和类有关,和lei的对象无关
不加static,和本类的对象息息相关。
变量的三种种类:
1.局部变量 生命周期:跟着方法的运行走 区域:栈帧 - 栈
2.类变量、静态变量、静态属性 跟着类的加载、卸载走 类 - 方法区
3.实例变量、属性(field) 跟着对象实例化,清理走 对象 - 堆区
静态变量(方法中的指令,也是一种数据) 方法区
普通方法 方法区
Person p = new person();大体上分为三个步骤。
1.通过类中的信息,计算对象的内存大小(隐含着用到了类) 在内存(堆区域)由JVM分配空间 把这段内存区域,全部用0进行初始化 memset(对象开始地址,0x0) 半成品对象构建完成
2.执行对象的初始化过程 调用初始化语句 对象实例完成
3.最终有一个引用赋值
对象的死亡不严谨,没有任何引用指向的对象,就可以视为死亡了。