黑马程序员技术交流社区
标题:
JAVA学习记录3 静态代码块 构造函数 构造函数快
[打印本页]
作者:
xman20
时间:
2015-3-21 09:30
标题:
JAVA学习记录3 静态代码块 构造函数 构造函数快
这几日学习了静态代码块,构造函数,构造函数块。
对于JAVA对于内存的设置有了一些深的认识,内存会被分成静态代码块,栈内存,堆内存,所有的引用类型都存在于栈内存中,实例化的对象都存放在堆内存中。
之前编写程序的时候,喜欢首先给对象起个名称,但是没有实例化,后续再调用的时候总是出现空指针异常,因为没有实例化对象,引用没有指定相对的引用经常报错。
以前对于一个对象实例化后的执行顺序是混乱的,静态代码,构造代码块,构造函数块的执行顺序,对象的实例化会首先执行静态代码块,之后会执行构造代码,最后才执行构造函数代码块。
其中有一个小细节,所有new出的新对象,都会有同一个静态代码块,当同时new两个新对象的时候,静态代码块只会执行一次。
Static和final的优势之一就是减少代码的重复以及节约内存,特别是后面的程序代码越写越多的时候,可以减少代码的数量,并且可以整理出更多的内存。
此前没有做文档的习惯,也没有规范化注释,都是简单的//注释或者,都是以前写C程序没有好好写注释遗留下来的不好的习惯。
This的引用是代表当前对象,而super是代表父类。
使用了static关键字后,可以不实例化对象,直接用类成员去调用方法,不需要实例化对象
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2