static修饰属性:
被static修饰的属性,是该类对象的共用。
它又被称为类属性,跟对象无关。(即没有对象也可以进行操作,通过类名.属性名 的方式直接访问)
它一般设计用在常量的属性设置。例如:
public static final int A=10;
它的特点主要有:
① 与对象无关,与类有关。
② 预加载(在加载期首先被产生在数据段的静态区中)
③ 全类共享一个
static修饰方法
什么时候用static修饰呢?---工具类的工具方法(类本身不产生对象,之使用这个类中的独立的方法,并且每个独立的方法用static修饰符,在调用这个方法是就用类名.方法名()调用就可以,此时不必产生该工具类的对象)
static不能修饰构造,因为凡是static的都与对象无关,而构造是专门用来产生对象的。
非static的方法是可以操作static的任何属性和方法。
static的方法不能操作非static的任何属性和方法。
原因:1、从设计上来说,static是类级别。与对象无关;
2、从实现上来说,static修饰的是被首先加载的,此时非static的还没有被加载到内存,所以无法访问。
原文:http://www.cnblogs.com/tingliu/p/5215255.html