1.static的作用
static表示“全局”或者“静态”意思,用来修饰成员变量、方法、代码块。
被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。
2.static修饰变量
称之为静态变量
public class AddNo {
private static int i = 3;
public static void main(String[] args) {
AddNo addNo = new AddNo();
System.out.println("通过对象访问静态变量addNo---i="+addNo.i);
System.out.println("通过类名访问静态变量addNo2---i="+AddNo.i);
}
}
运行结果:
通过对象访问静态变量addNo—i=3
通过类名访问静态变量addNo2—i=3
3.static修饰方法
3.1 静态方法可以直接调用同类的静态成员,但不能直接调用非静态成员。
public class AddNo {
private static int i = 3;
public int j = 6;
public static void add() {
System.out.println(i);
//改行会报错
System.out.println(j);
}
}
System.out.println(j); 此行代码会报错
3.2 普通成员方法中,可以直接访问同类中的静态和非静态变量
3.3 静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。
public class AddNo {
private static int i = 3;
public int j = 6;
public static void add() {
System.out.println(i);
}
public void addadd() {
System.out.println(i);
}
public static void main(String[] args) {
AddNo addNo = new AddNo();
//可以直接访问静态方法
add();
//需要通过对象来访问非静态方法
addNo.addadd();
}
}
4 static修饰代码块