static可以用来修饰属性、方法和代码块。
static修饰的变量属于这个类所有,即由这个类创建的所有对象共用同一个static变量。
通常把static修饰的属性和方法称为类属性(类变量)、类方法。
不使用static修饰的属性和方法属于单个对象。通常称为实例属性(实例变量)、实例方法。
使用static修饰方法的最常见的例子是我们熟悉的main()方法。
public class Hero {
static int j;
static int s=80;
int i;
int k=55;
static {
j=5;
System.out.println("j的初始化值为"+j);
}
public Hero() {
i=20;
System.out.println("i的初始值为:"+j);
}
public static void getNum() {
System.out.println("得到j的值为:"+j);
}
public static void main(String[]args) {
Hero st=new Hero();
System.out.println("j的初始化值为"+Hero.j);
st.getNum();
System.out.println("s的初始化值为"+st.s);
System.out.println("k的初始化值为"+st.k);
}
}
结论:
在加载类的过程中,完成静态变量的内存分配,在执行静态代码块,两者是在创建对象之前执行的。
类属性、类方法可以通过类名和对象名访问,实例属性、实例方法只能通过对象名访问。
类方法只能访问类属性和其他类方法。
注意:
静态方法中不能使用this和super关键字。
结论:在方法里不可以定义static变量,类变量不能是局部变量。
标签:Hero,修饰符,System,static,println,out,属性 From: https://www.cnblogs.com/Lovew2/p/16737717.html