想请教各位前辈这个问题,我感觉不用static和final定义的变量也能用啊……
能用和好用是两个概念。
所有的代码都能写到一个类里面,为什么要把代码分成几个类再组合呢?
因为这样漂亮。
使用final
,更多是出于设计考虑。
别人一看这个关键字,就知道这个成员大概能起到什么作用,更快的明白你程序的架构,这就是“语义”
而自己写代码的时候以及和其他人协作干活的时候,也不会误用了这个量。
首先你要明白static 和 final的作用,才好知道什么时候适合用到他们,或者说不得不用他们。举几个例子。
何必downvote?
题主需要先有个基本的认识,然后可以试试把自己的类给别人使用,会发现可以从不同角度进行破坏。
基本的tutor:
https://docs.oracle.com/javase/tutorial/java/IandI/final.html
https://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html
多加练习后建议读读Effective Java,翻译略有生涩,可以结合英文原版看。
final可以理解为最终的,如果你不想一个变量在后期被改变那么久用final修饰,比如你的实际身高是不变的。
static的一个好处就是可以通过类名直接访问变量,大部分用在需要在多个方法中共享的时候。
final和static没必要一起来用,看自己的需求,楼主在写代码的时候如果没这个需求你就不要用,当你写的多了有这个需求的时候你就会发现他们的好处。
3 回答2.7k 阅读✓ 已解决
3 回答4.2k 阅读✓ 已解决
8 回答3.8k 阅读
4 回答2.8k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.6k 阅读✓ 已解决
4 回答2.1k 阅读
final常量,定义时一般要赋值;
final方法,禁止覆盖;
final类,不能继承该类;
final与static final的区别是:final在一个对象类唯一,static final在多个对象中都唯一;
一个既是static又是final的域只占据一段不能改变的存储空间,只有一份
语言的设计肯定是出于某种好处才这样设的,就像有些代码为什么要重构,为什么要使用设计模式……
楼主或许可以找下《设计模式》、《Effective Java》、《重构》或相关文章看下
另外,遇到问题,多Google下,不要急着提问……