java语言中static修饰的静态属性及方法
# static:表示静态的,static修饰的东西会随着字节码文件优先于类加载进内存。
1、修饰方法:
(1)修饰后的方法叫做静态方法,不需要进行实例化就可以直接通过类名调用;
(2)修饰后的方法属于类不属于对象,只能调用静态属性和静态方法,一般出现在工具类中。
public class Students {
public static void main ( String[ ] args) {
Students. tast ( ) ;
}
static void tast ( ) {
System. out. println ( "静态方法" ) ;
}
}
2、修饰属性(变量):
(1)修饰后的属性叫做静态属性,不需要进行实例化就可以直接通过类名调用,所有对象共享一份数据;
(2)修饰后的常量一般是作为状态使用。
public class Test {
public static int num = 10 ;
}
class Test2 {
public static void main ( String[ ] args) {
System. out. println ( Test. num) ;
}
}
3、修饰代码块:
(1)修饰后的代码块叫做静态代码块,在类第一次被使用的时候会执行,仅执行一次;
(2)优先级高于构造代码块与构造方法,一般在连接数据库的时候使用。
# 构造代码块在对象每次创建的时候均会执行
public class Test {
public static void main ( String[ ] args) {
Test2 test2 = new Test2 ( ) ;
}
}
class Test2 {
public Test2 ( ) {
System. out. println ( "构造方法" ) ;
}
static {
System. out. println ( "静态代码块" ) ;
}
{
System. out. println ( "构造代码块" ) ;
}
}
# 对象创建执行顺序:
静态构造代码块 > 构造代码块 > 构造方法 静态方法和静态属性的执行顺序看调用时的位置,可能优先于构造代码块与构造方法,也可能不优先于,静态构造代码块优先级是最高的
4、静态修饰符的特点
静态方法允许直接访问静态成员。 静态方法不能直接访问非静态成员。 静态方法中不允许使用this或是super关键字。 静态方法可以继承,不能重写、没有多态。 静态方法无法修饰构造方法和类