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静态代码内存分析
修饰的内容:
是随着类的加载而加载的,且只加载一次。
存储于一块固定的内存区域(静态区),所以,可以直接被类名调用。
它优先于对象存在,所以,可以被所有对象共享。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |