static的作用与使用方式

一.static的作用

  • 概述:在前面的博文提到,类其实就是一个摸具,当创建对象时,便会拥有类的全部属性与方法,并且与其他对象的属性是无关联的,但当某一个属性前加上static后,则会变成所有对象共同拥有当前这个属性,如若有对象修改这个属性,那其他对象,调用时,也会变成修改后的内容

  • 举例:爸爸有100块钱,儿子也可以使用这笔巨额,但当爸爸消费后,还剩5元时,儿子所能支配的也仅有这剩下的钱。

/**
 * @ Author: Zhangyu
 * @ Date: 2020/7/22
 * @ Description:
 */
public class Test {
    int num1=10;//普通属性
    static int num2=10;//静态属性

    public static void main(String[] args) {
        Test test=new Test();
        test.num1-=1;//对象将普通属性减一
        test.num2-=1;//对象将静态属性减一
        System.out.println("当前对象test中的属性num1:"+test.num1+"   num2:"+test.num2);
        Test test1=new Test();//在创建一个属性来看看在test中改变的num2,会不会影响test1的num2
        System.out.println("当前对象test1中的属性num1:"+test1.num1+"   num2:"+test1.num2);
    }
}

//输出结果
当前对象test中的属性num1:9   num2:9
当前对象test1中的属性num1:10   num2:9
  • 从上面示例代码看出,test中改变的num2,在test1中调用,显示的是test中改变后的值,而num1却重新赋值,这就是static的作用,一般用于计数,投票,等场景

二.static的第二个作用

  • static还有一个作用,就是静态代码块,凡是使用类的属性,方法,或创建对象,都会执行静态代码块,但静态代码块一旦执行过一次,便不会在次执行
  • 代码演示
/**
 * @ Author: Zhangyu
 * @ Date: 2020/7/22
 * @ Description:
 */
public class Test {

    static{//静态代码块
        System.out.println("静态代码块已执行!!!");
    }

    public static void main(String[] args) {
        Test test=new Test();//创建第一个对象
        Test test1=new Test();//创建第二个对象
        }
   }

  • 输出结果
静态代码块已执行!!!
  • 结论
    静态方法可以通过任何调用方法属性,方法以及创建对象的方式,执行静态代码块,且只执行一次,有兴趣的小伙伴可以去试试调用方法属性或 方法的方式
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值