Java基础之static及代码块分类

static (最经常用于定义工具类)
1:用来定义类的成员变量(类变量),

  1. 1:类变量需要被static修饰,实例变量不需要。
    2:作用域不同,类变量的作用域更大
    3:直接属于类,所有的类成员在内存中只存在一份,存放在常量池中(而实例变量存在多份,存在堆内存中)
    4:由于其直属于类,所以可以通过类名直接调用。

    2:用来定义类方法
    类方法也叫做静态方法,只需要在实例方法上加上static 就是类方法,证明这个方法直接属于类,可以通过类名直接调用。
    我们调用静态方法的时候,有可能是没有创建实例对象的,所以在静态方法中无法直接访问实例属性及方法。
    所有的静态成员在类被JVM加载的时候都已经存在,所以不需要声明对象即可调用。
    3.代码块分类:
    1:静态块
    直接写在类中,被static修饰,在程序运行期间只会执行一次,在类被加载的时候执行
    2:构造块
    直接写在类中,每创建一个对象执行一次。
    3:普通代码块
    写在方法中,一般很少使用,用于解决变量名冲突问题
    4:同步块
    专门解决多线程问题,被同步块修饰的代码作用域同时只能进入一个线程。

static {
		System.out.println("静态代码块,只会执行一次");
	}
	
	 {
		System.out.println("构造代码块,每次创建的对象执行一次");
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值