1.静态域,有什么用?
答:当一个数据成员是属于类,而不是属于类的实例对象时,这个时候就应该将数据成员定义为静态域——准确的说,应该叫类的域,这样一看名字就知道什么意思!
【注】
什么情况下,一个数据成员是属于类,而不是属于类的实例对象?
答:a.该数据成员的值,是一个固定的值,也就是说永远不会改变——那么,这个时候就应该弄成类域;
b.但更常用的一种情况是,静态常量域(例如,static final IP = 3.14159)——事实上,和a是一回事,本质上都是该数据成员的值是一个固定的值,永远不会改变!
1_1.静态域,什么时候被执行?
答:类域:启动tomcat,就会执行 类域 (如果是java 项目,那么应该这么说,编译期间就会被执行)
2.静态方法,有什么用?
答:如果一个方法只使用类域(即静态域) 就可以完成业务功能,那么该方法就应该定义为静态方法——准确的说,应该叫类方法,道理同上!
2_2.静态方法,什么时候被执行?
答:类方法:同理,启动tomcat,就会执行类的方法 (如果是java 项目,那么应该这么说,编译期间就会被执行)
举例,
public class Log4jMngr { final static ClassLoader resFinder=Log4jMngr.class.getClassLoader(); static String path; //类的域:启动tomcat,就会执行 类的域 (如果是java 项目,那么应该这么说,编译期间就会被执行) public synchronized static void init(){ //类的方法:同理,启动tomcat,就会执行类的方法 (如果是java 项目,那么应该这么说,编译期间就会被执行) if(path!=null){ return; }