专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

【Java】Java中的final关键字和static

0****、概述

final关键字表示是不可变的;

下面分别从属性(字段)、方法、类中进行说明;

1****、属性(or字段),表示常量

final声明在属性(or字段)中,表示常量,有两种初始化方法,1是在声明时直接初始化,这跟static常量一样,在编译时就确定值;2是在构造函数中初始化,这个是在运行时才确定其值;示例代码如下:

   public class Man
   {
        final String Name="张三";  // 1、常量,声明时初始化,同static
        final String EnName;

        /**
         * 构造函数
         */
      public Man()
     {
        EnName = "anson";  //2、在构造函数中初始化,运行时才确定其值
      }  
   }

2****、****final****方法,表示方法不可以被覆盖

final方法主要有两个方面的作用:1是防止任何继承类覆盖方法。2是提高程序执行的效率。将一个方法设成final后,编译器就会忽略为执行方法调用机制而采取的常规代码插入方法(将自变量压入堆栈;跳至方法代码并执行它;跳回来;清除堆栈自变量;最后对返回值进行处理)。它会用方法主体内实际代码的一个副本来替换方法调用。这样可以一定程度上避免方法调用时的系统开销。

示例代码如下:

class Man 
{ 
    /** 
    * final 方法,不能覆盖 
    */ 
    public final void Run()
     { //... } 
}

3****、****final****类,表示类不能被继承

final声明的类,表示类不能被继承;示例代码如下:

final class Human 
 { //... }

000-static

关于static,比较好理解,就不写示例代码了,主要有四种用法:总结如下:

1、 用来修饰成员变量,将其变为类的成员,从而实现所有对象对于该成员的共享;
2、 用来修饰成员方法,将其变为类方法,可以直接使用“****类名****.****方法名****”的方式调用,常用于工具类;
3、 静态块用法,将多个类成员放在一起初始化,用于初始化静态成员;
4、 静态导包用法,将类的方法直接导入到当前类中,从而直接使用“****方法名****”即可调用类方法,更加方便,如:

    import static com.anson.utils.PythonHelper.*;

文章永久链接:https://tech.souyunku.com/31905

未经允许不得转载:搜云库技术团队 » 【Java】Java中的final关键字和static

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们