java语言中static修饰的静态属性及方法

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关键字。
  • 静态方法可以继承,不能重写、没有多态。
  • 静态方法无法修饰构造方法和类
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值