(声明:目录下的所有文章皆由笔者根据阿里云开发者社区中李兴华老师公开课课程所整理)
点击此处获取Java面向对象编程目录
Java之中类属于引用数据类型,引用数据类型最大的困难之处在于要进行内存的管理,同时在进行操作的时候也会发生有内存关系的变化。所以本次针对于之前的程序的内存关系进行一些简单分析。
如果要进行内存分析,那么首先给出两块最为常用的内存空间:
- 堆内存:保存的是对象的具体信息,在程序之中堆内存空间的开辟是通过new 完成的;
- 栈内存:保存的是一块堆内存的地址,即通过地址找到堆内存,而后找到对象内容,但是为了分析简化起见可以简单的理解为对象名称保存在了栈内存之中。
需要特别引起注意的是,所有的对象在调用类中的属性或方法的时候必须要实例化完成后才可以执行。代码之中若只是声明了对象,但是并没有为对象进行实例化,所以此时无法调用。而此时程序中出现的NullPointerException(空指向异常)就是在没有在堆内存开辟后时所产生的问题,并且只有引用数据类型存在此问题。



