static
static称之为静态的 所属于类,static修饰的内容在类被加载的时候会被优先加载
static修饰的内容改变了,也被所有对象可见
staitc修饰的内容有两种调用方式:
1.通过类名直接调用 类名.static修饰的内容
2.通过对象调用 对象.
在一个静态内容中调用非静态内容
- 在非静态内容前加上static
- new非静态内容所属的对象通过对象调用
在一个非静态内容中调用静态内容:
可以直接调用,因为非静态内容隶属于对象,如果非静态内容能够使用证明类一定被加载了,而类被加载了静态内容也会被加载
public class Test04 {
int num;
public static void main(String[] args) {
//System.out.println(num); 报错,当成员方法int用static修饰的时候就是正确的
Test04 t = new Test04();
System.out.println(t.num); //非静态内容通过对象调用
Person.eat(); //eat是静态内容可以直接通过Person.调用
Person p = new Person();
//也可以通过创建对象通过对象调用
p.eat();
}
}
class Person{
static void eat(){
System.out.println("吃饭饭");
}
}
什么时候类会被加载?
1.调用当前类中的方法的时候
2.创建当前类的实例对象的时候