首页 > 编程语言 >Java静态导入

Java静态导入

时间:2023-09-15 09:25:16浏览次数:32  
标签:lang Java 静态 导入 static import java

今天在看开源项目的时候发现了这样一句代码

import static com.abin.mallchat.common.common.service.frequencycontrol.FrequencyControlStrategyFactory.TOTAL_COUNT_WITH_IN_FIX_TIME_FREQUENCY_CONTROLLER;

我虽然工作了有三年时间了,但是这样的代码还是第一次看见,看见的第一反应我以为是jdk1.8之后出的一个新特性,查阅发现这是在1.5之后增加的一个语句,叫做“静态导入”。不知道是忘记还是一开始学习的时候没注意到这块,现在来弥补一下空缺吧。

Java import static静态导入是JDK 1.5 之后增加了一种静态导入的语法,用于导入指定类的某个静态成员变量、方法或全部的静态成员变量、方法。如果一个类中的方法全部是使用 static 声明的静态方法,则在导入时就可以直接使用 import static 的方式导入。
语法格式如下:

import static package.ClassName.fieldName|methodName;

上面语法导入 package.ClassName 类中名为 fieldName 的静态成员变量或者名为 methodName 的静态方法。例如,可以使用import static java.lang.System.out;语句来导入 java.lang.System 类的 out 静态成员变量。
导入指定类的全部静态成员变量、方法的语法格式如下:

import static package.ClassName.*;

上面语法中的星号只能代表静态成员变量或方法名。

import static语句要放在package之后,类定义之前,即放在与普通 import 语句相同的位置,而且 import 语句和 import static 语句之间没有任何顺序要求。

使用 import static 可以省略类名
下面程序使用 import static 语句来导入 java.lang.System 类下的全部静态成员变量,从而可以将程序简化成如下形式。

import static java.lang.System.*;
import static java.lang.Math.*;

public class StaticImportTest {
    public static void main(String[] args) {
        // out是java.lang.System类的静态成员变量,代表标准输出
        // PI是java.lang.Math类的静态成员变量,表示π常量
        out.println(PI);
        // 直接调用Math类的sqrt静态方法,返回256的正平方根
        out.println(sqrt(256));
    }
}

标签:lang,Java,静态,导入,static,import,java
From: https://www.cnblogs.com/lm66/p/17704057.html

相关文章

  • 2023秋Java开学考试代码优化
    publicclassWarehouseInformation{privateStringitemno;privateStringitemname;privateStringsuppliername;privateStringwarehousingtime;privateStringwarehousenumber;privateStringshipmenttime;privateStringwareho......
  • java实验代码1
    一、阅读相应教材,或者使用互联网搜索引擎,弄清楚反码、补码跟原码这几个概念,然后编写示例程序,对正数、负数进行各种位操作,观察输出结果,与手工计算的结果进行比对,看看Java中的数是采用上述哪种码表示的。原码、反码、补码是计算机中对数字的二进制表示方法。原码:将最高位作为符号......
  • Java Lambda表达式应用说明
    Lambda简介Lambda 可定义为一种简洁、可传递的匿名函数,它是推动Java8发布的最重要新特性Lambda 本质上是一个函数,虽然它不属于某个特定的类,但具备参数列表、函数主体、返回类型,甚至能够抛出异常Lambda 是匿名的,它没有具体的函数名称Lambda 允许把函数作为一个方法的参数(函数作......
  • java的jdbc插入的时候,遇到null情况报错问题
    分析原因:在执行SQL时MyBatis会自动通过对象中的属性给SQL中参数赋值,它会自动将Java类型转换成数据库的类型。而一旦传入的是null它就无法准确判断这个类型应该是什么,就有可能将类型转换错误,从而报错。解决办法:参数增加jdbcType标识数据类型。(注意:这时候参数{}前统一用#)<inser......
  • Java学习_009_for循环
    循环结构:组成:1.初始化语句:用于表示循环开启时的起始状态,简单说就是循环开始的时候是什么样子;2.条件判断语句:用于表示循环反复执行的条件,简单说就是判断循环是否能够一直执行下去;3.循环体语句:用于表示循环反复执行的内容,简单说就是循环反复执行的事情;4.条件控制语句:用于表示循......
  • idea导入快捷键
    转载:https://www.cnblogs.com/poscana/p/14916698.html 习惯了eclipse的同学可能对IDEA的快捷键不习惯,这里打包了一份eclipse中快捷键的设置。直接导入IDEA就可以使用。 使用方法:step1:下载快捷键jar包,下载地址在文章末尾step2:在IDEA中以importsetting的方式导入jar包......
  • Java学习_007_Switch语句
    需求:输入一到七的任意一个数,输出该数字对应的星期数。使用Switch语句:1importjava.util.Scanner;23publicclassMain{4publicstaticvoidmain(String[]args){5Scannersc=newScanner(System.in);6System.out.println("请输入一......
  • java---方法
    方法对一段功能代码进行集中管理,每个同学在某一时刻只做一件事情。单一职责。5.1方法的分类构造方法在创建对象时自动调用成员方法使用对象进行调用静态方法static使用类名进行调用()-->代表的就是方法5.2方法的创建语法:访问修饰符[static]返回值类型方法名([形式参......
  • Java数组遍历
    publicclassbianli{publicstaticvoidmain(String[]args){int[]arr={11,22,33,44,55};printArray(arr);}publicstaticvoidprintArray(int[]arr){System.out.print("[");......
  • Java学习_006_考试奖励
    需求:小明期末考试,小明的爸爸对他说,会根据他不同的期末考试成绩,送他不同的礼物,假如你可以控制小明的得分,请用程序实现小明到底该获得什么样的礼物,并在控制台输出。     奖励:95-100-----山地自行车一辆;  90-94------游乐场游玩一次;80-89----......