本文共 1129 字,大约阅读时间需要 3 分钟。
@
声明静态成员变量(也称类变量),从属于类,是该类的公用变量,生命周期与类相同,**注意与普通成员变量区分 ** 普通成员变量从属于对象,生命周期与对象相同。
static 方法不可访问非static 成员,非static成员从属于对象,在堆内存中无法找到。
个人理解:static 变量声明初始化以后,创建的对象全都是被初始化过的,相当于这个类特有的“印记”
撸代码:
/** * @author DREAM_yao *static关键字的用法 *//*static:声明静态成员变量和方法,从属于类 * * */class Score{ String name;/*从属于对象*/ static String id="DREAM_yao";/*从属于类*/ static int num; public void printname() { /*普通方法可以调用静态方法*/ System.out.println("普通方法:"+id); } public static void printId(){ /*静态方法不能调用普通方法,在内存中找不到*/ System.out.println("静态方法:"+id); }}public class TestConstructor { public static void main(String[] args) { Score s2 = new Score(); s2.printname(); s2.printId(); s2.id="快乐撸代码"; System.out.println(s2.num); s2.printId(); }}
用于类的初始化
/** * @author DREAM_yao *静态初始化块 *//*static:声明静态成员变量和方法,从属于类 * * */class Score{ String name;/*从属于对象*/ static String id;/*从属于类*/ static int num; static { /*static 初始化块*/ System.out.println("执行类的初始化:"); id="DREAM_yao"; num=666; System.out.println(num+"\n"+id); }}public class TestConstructor { public static void main(String[] args) { Score s2 = new Score(); }}
转载地址:http://zhsl.baihongyu.com/