java 中的构造代码块和构造函数以及静态代码块
相信大家都学了java之后也被这 java 中的构造代码块 和 构造函数 以及 静态代码块 三个给弄混了,下边我给大家来稍微解释下这三个的区别:
构造函数代码块,是一个用来描述一个类里边的一段代码,这段代码优先于构造函数执行,而且一个对象生成之后就有一次被调用。
构造函数,是类实例化一个对象之后,必须要调用的,当然如果没写,系统会自动生成一个没有任何参数的没有任何代码的构造函数。
静态代码块,是这个类里边的并不依赖于对象而存在的,没有实例化对象,但是如果已经引用了这个类,那么这段代码就会被调用,当然总共职能被调用一次,即使是生成多个同类的对象。
先给大家来看个李子坝:
package outPak1;public class hahah {public hahah() {cout("构造函数被调用!");}public static void coutN(Object o) {System.out.print(o);}public static void cout(Object o) {System.out.println(o);}{cout("构造函数块被调用!");}static {cout("静态函数块被调用!");}public static void main(String[] args) {// TODO Auto-generated method stubnew hahah();new hahah();new hahah();}}
这个代码块运行的结果会是什么?
猜下吧!;
静态函数块被调用!
构造函数块被调用!
构造函数被调用!
构造函数块被调用!
构造函数被调用!
构造函数块被调用!
构造函数被调用!
发布评论