一:概述及特点
是一个关键字,用来修饰成员变量和成员方法
特点:
A:被所有对象共享数据
B:可以使用类名调用
C:静态的加载优于对象,不属于任何对象,但可以使用对象调用,与对象无关
D:随着类的加载而加载
二:注意事项
A:静态方法
静态方法只能调用静态成员
B:非静态方法
可以调用静态成员,也可以调用非静态成员
静态方法中是否有this这个对象?
无,因为静态不属于任何对象
三:优缺点及应用场景
A:优点:
1:对对象的共享数据提供单独的空间进行存储,节省空间,没必要每一个对象都存储一份
2:可以直接被类名调用,不需要再堆内存创建对象
B:缺点
访问出现局限性(只能访问静态)
C:应用场景
工具
四:代码块
在一个单独的{ }括起来的代码
例如:
{
System.out.println("我爱java");
}
A:分类
1:局部代码块
2:构造代码块
3:静态代码块
4:同步代码块
B:局部代码块
存在于方法中
作用:控制变量和生命周期(作用域)
C:构造代码块
在一个类中用{ }包括起来的代码
作用:提取构造方法中的共性(共同的代码等等),每次创建对象都会执行,并且在构造方法之前执行
D:静态代码块
在一个类中用static{ }括起来的代码
随着类的加载而加载,只加载一次
作用:加载类时需要做的一些初始化,比如加载驱动