static修饰符

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变量,类变量不能是局部变量。

posted @ 2022-09-28 13:24  月丫湾  阅读(48)  评论(0)    收藏  举报