java - static - final

本文深入解析Java中的静态成员变量与静态方法,以及final关键字的应用,包括终态类、终态属性(常量)、终态方法的特性与初始化方式,同时探讨静态终态成员变量的初始化要求与静态代码块的作用。

static关键字

[java]  view plain  copy
  1. 修饰属性:静态成员变量  
  2. 修饰方法:静态方法  
  3.   
  4. 静态成员变量:无论一个类生成了多少个对象,静态成员变量只有一份,  
  5.     一个对象对静态成员变量进行修改,其他对象对该静态成员变量的值也变化  
  6. 静态成员方法:静态方法只能继承不能重写,子类是把父类的静态方法隐藏了  
  7.   
  8. 静态成员:  
  9.     是属于类的,不属于任何对象  
  10.     因为静态成员是属于类的,所以当类加载完成之后就可以访问了  
  11.     静态成员不能使用this来调用  

final关键字

[plain]  view plain  copy
  1. 修饰类:终态类  
  2. 修饰属性:终态属性(常量)  
  3. 修饰方法:终态方法  
  4.   
  5. 终态类:不能被继承  
  6. 终态属性(常量):  
  7.     如果基本类型是值不能改变,如果引用类型是指向那一个对象不能改变  
  8.         例如我们可以修改对象里面的成员变量  
  9. 终态方法:不能被重写  
  10.   
  11. 终态属性系统不会默认值,而要求构造器完成之前必须初始化  
  12.     可选时机一,声明时初始化  
  13.     可选时机二,非静态语句块中初始化  
  14.     可选时机三,构造器中进行初始化  
  15. 终态局部变量初始化值的时间只要在使用值之前就行  

静态终态成员变量

[java]  view plain  copy
  1. 初始化要求必须在静态语句块结束之前完成  
  2. 初始化时机  
  3.     可选时机一,声明时初始化  
  4.     可选时机二,静态语句块中初始化  

static代码块

[java]  view plain  copy
  1. 静态代码块先于构造方法执行的  
  2.     因为定义一个类之后,类会生成一个class文件放在硬盘上,  
  3.         再先将class文件从硬盘加载到JVM上,再使用JVM处理它再生成对象  
  4.     静态代码块是类加载的时候执行  
  5.     构造方法是生成对象的时候执行  
  6. 不管类生成多少对象静态代码块只执行一次  
  7. 先执行父类静态代码块再执行子类静态代码块  
  8. 静态代码块作用完成一些初始化工作  
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值