静态变量

package test;

public class test1 {
static String name="jack";
String nickname="tom";
}
package test;

public class test2 {
public static void main(String[] args) {
System.out.println(test1.name);//静态方法中只能访问用static修饰的成员

test1 man=new test1();
test1 woman=new test1();

System.out.println(man.nickname);
System.out.println(woman.nickname);
//重新定义后只能调用nickname,类只加载一次,因此
//静态只能调用一次
man.name="wang";
woman.name="hong";
System.out.println(man.name);
System.out.println(woman.name);//访问静态变量时只能输出一种结果hong这个结果

man.nickname="liu";
woman.nickname="su";
System.out.println(man.nickname);
System.out.println(woman.nickname);//两个输出结果都对应于
}
}

静态方法

package test;

public class test3 {
public void name(){
System.out.println("wang");
}

public static void nickname(){
System.out.println("hong");
}
}
package test;

public class test4 {
public static void main(String[] args) {
test3.nickname();//静态方法中只能访问用static修饰的成员
//test3.name();报错
test3 ts=new test3();//重新定义后才可以进行调用
ts.name();
ts.nickname();
}
}

静态代码块

package test;

public class test5 {
static String name;
static {
System.out.println("hello");
name="wang";
}
}
package test;

public class test6 {
public static void main(String[] args) {
System.out.println(test5.name);
System.out.println(test5.name);
//当类被加载时,静态代码块会执行,由于类只加载一次,
//因此静态代码块只执行一次。在程序中,通常会使用静态代码块来对类的成员变
// 量进行初始化
}
}