java基础——static关键字
static关键字
1.Java中的静态
1.1static修饰成员变量
static修饰的成员变量属于类、也称为类变量,类对象可以使用。使用时可以直接用类名调用。
定义格式:`static 数据类型 变量名;`
例子:
class A{
static String city="China";
}
public class Demo1 {
public static void main(String[] args) {
A a= new A();
System.out.println(A.city);
a.city="中国";
System.out.println(a.city);
}
}
1.2static修饰成员方法
修饰成员方法时,该方法称为类方法,习惯称之为静态方法。在使用时间建议使用类名调用。
语法格式:
修饰符 static 返回值类型 方法名(){
//执行语句
}
例子:
class A{
static String city="China";
public static void show(){
System.out.println(city);
}
}
使用时应注意:
1、静态方法可以直接访问类变量和静态方法
2、静态方法不能直接访问普通成员变量或成员方法
3、静态方法中不可以使用this关键字
调用格式:
被static修饰的成员可以并且建议通过类名直接访问。虽然也可以通过对象名访问静态成员,原因即多个对象均属 于一个类,共享使用同一个静态成员,但是不建议,会出现警告信息。
1.3static静态代码块
位置:类的方法外。
执行: 随着类的加载而执行。优先于main方法和构造方法的执行
顺序是:静态代码块–> 构造代码块–>构造方法。
作用:给类变量进行初始化赋值。
格式:
class A{
static{
//执行语句
}
}
1.4静态代码内存分析
修饰的内容:
是随着类的加载而加载的,且只加载一次。
存储于一块固定的内存区域(静态区),所以,可以直接被类名调用。
它优先于对象存在,所以,可以被所有对象共享。