文章目录
出现的位置
static出现在类的内部,方法的外部,不能出现再方法的内部。
三种用法
1.修饰属性-----静态属性
2.修饰方法-----静态方法
3.静态代码块(初始化静态属性的一种方法)
区别于C语言的static
1.C语言中:static可以修饰局部变量,本来局部变量的生命周期是随着栈帧存在的。被static修饰后,变量不放在栈帧中,所以生命周期变长了。
2.Java中,只要类对象存在,static就存在。Java中static不允许出现在方法内部,所以没有生命周期这样的说法。
什么时候用
1.代码块中用到了this关键字,则一定不能用static修饰。
2.不用this关键字,也可以不用static修饰,main方法是个特例,必须用static修饰。
静态属性,静态方法,静态代码块
1.静态属性不是保存在该类的对象中,而是保存在“类类型”对象中,所以和对象无关。(这句阐述我也不是很懂,继续理解吧)
2.被static修饰,表示被修饰的(属性/方法/代码块)和该类的对象无直接关联,没有this。
3.静态方法中,没有this,没有该类的对象
4.静态代码块,执行时机是在类加载时期,而不是对象的实例化时期
标签:静态方法,静态,代码,----,static,修饰,JavaSE,属性
来源: https://blog.csdn.net/yemaozi1501/article/details/113813726