final的用法java,final在JAVA

  final的用法java,final在JAVA

  如何解决写爬虫IP受阻的问题?立即使用。

  final关键字的基本用法

  在Java中,final关键字可以用来修改类、方法和变量(包括成员变量和局部变量)。下面从这三个方面来看看final关键字的基本用法。(推荐学习:java课程)

  1、修饰类

  当类用final修饰时,它指示该类不能被继承。也就是说,如果你永远不会让一个类被继承,你可以用final来修饰它。final类中的成员变量可以根据需要设置为final,但是需要注意的是,final类中的所有成员方法都被隐式指定为final方法。

  用final来装饰一个班级的时候,要慎重选择。除非这个类将来真的不会用于继承,或者出于安全原因,否则尽量不要把这个类设计成final。

  2、修饰方法

  下面这段话摘自《Java编程思想》第四版第143页:

  “使用最后一种方法有两个原因。第一个原因是锁定方法,以防止任何继承的类修改其含义;第二个原因是效率。在Java实现的早期版本中,最终的方法将被内联调用。

  但是,如果方法太大,您可能看不到内联调用带来的任何性能改进。在最近的Java版本中,这些优化不需要使用final方法。"

  因此,如果该方法被设置为final,只有当您希望显式禁止它在子类中被重写时。也就是说,父类的最终方法不能被子类覆盖,这意味着子类不能有与父类相同的方法。

  final-decorated方法指示此方法具有“最后的和最终的”含义,即此方法不能被重写(多个final-decorated方法可以被重载)。

  这里需要注意的一点是:因为重写的前提是子类可以从父类继承这个方法,如果父类中的final-decorated方法同时拥有私有访问控制权限,就会导致子类无法直接继承这个方法。

  因此,此时可以在子类中定义相同的方法名和参数。这时重写和final的矛盾不再产生,而是在子类中重新定义一个新的方法。(注意:类的私有方法被隐式指定为最终方法。)

  3、修饰变量 修饰变量是final用得最多的地方,也是本文接下来要重点阐述的内容。

  最后一个成员变量代表一个常量,只能赋值一次,赋值后值不会改变。

  final修改一个基本数据类型的时候,基本数据类型的值一旦初始化就不能更改;如果final修改了一个引用类型,那么初始化之后就不能指向其他对象,但是引用所指向的对象的内容可以改变。本质上是一回事,因为引用的值是一个地址,final要求值,也就是地址的值不变。

  Final修改成员变量(属性),初始化必须显示。有两种初始化方法,一种是变量声明时初始化;第二种方法是声明没有初始值的变量,而是在变量所在的类的所有构造函数中给变量赋初始值。

  当函数的参数类型被声明为final时,该参数是只读的。也就是说,您可以读取和使用该参数,但不能更改其值。这就是java中final的细节。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: