概述:static是一个关键字,表示静态的意思,可以用来修饰成员变量,修饰成员方法,修饰代码块
static关键字修饰成员变量:
格式: static 数据类型 变量名;
static 修饰成员变量时,该变量会变成静态成员变量,也叫做类变量。
这个类变量,会被该类的每个对象都共享,也就是说该类变量在内存中只有一份,会被该类的所有对象共享
任何对象都可以更改该类变量的值,但也可以在不创建该类的对象的情况下对类变量进行操作。
静态成员变量的访问:
使用对象访问: 对象名.静态成员变量名
使用类名访问: 类名.静态成员变量名 推荐
static 关键字修饰成员方法:
格式:
修饰符 static 返回值 方法名(参数列表){
方法体
}
修饰之后有什么效果:
被static修饰的成员方法会变成静态成员方法,也叫做类方法,可以使用该类的对象直接调用,也可以使用类名直接调用
访问的方式:
使用该类的对象直接调用: 对象名.静态成员方法名(实参);
使用类名直接调用: 类名.静态成员方法名(实参); 推荐
静态方法的注意事项:
1.静态方法中只能直接访问静态成员变量和静态成员方法,不能直接访问非静态成员变量和非静态成员方法
2.静态方法中不能出现this
3.如果父子类中出现一模一样的静态方法,这不叫做方法的重写,只是恰巧长的像方法重写
static修饰代码块:
概述 : 被static修饰的代码块,就叫做静态代码块
格式:
static{
}
静态代码块:定义在成员位置,使用static修饰的代码块{ }。
- 位置:类中方法外。
- 执行:随着类的加载而执行且执行一次,优先于main方法和构造方法的执行。