首页 > 编程语言 >Java语言用static修饰符进行静态导入的作用和语法

Java语言用static修饰符进行静态导入的作用和语法

时间:2023-10-16 22:32:53浏览次数:36  
标签:Java 静态 修饰符 System 导入 static Integer out

大力:“Java语言引入了静态导入语法(import static),有什么作用?”

卫琴:“能够在需要经常访问同一个类的方法或成员变量的场合,简化程序代码。”

Java语言用static修饰符进行静态导入的作用和语法_静态导入

static修饰符静态导入可以简化程序代码

下面是一个未使用静态导入的例子:

class TestStatic {
  public static void main(String[] args) {
    System.out.println(Integer.MIN_VALUE);
    System.out.println(Integer.MAX_VALUE);
    System.out.println(Integer.parseInt("223"));
  }
}

以上代码需要频繁地访问System类的out成员变量,以及Integer类的一些静态成员。以下代码静态导入了System.out成员变量以及Integer类的所有静态成员,程序代码明显得到了简化,在程序中可以直接访问被导入的内容:

import static java.lang.Integer.*;
import static java.lang.System.out;

public class TestStatic {
  public static void main(String[] args) {
    out.println(MIN_VALUE);
    out.println(MAX_VALUE);
    out.println(parseInt("223"));
  }
}


值得注意的是,如果静态导入的内容过多,容易引起各种方法名字以及变量名字的冲突。如果明确地指定所导入的内容就可以减少这样的冲突。例如对于以上程序代码,可以把静态导入“java.lang.Integer.*”的语句改写为:

import static java.lang.Integer.MIN_VALUE;
import static java.lang.Integer.MAX_VALUE;
import static java.lang.Integer.parseInt;

上文参考孙卫琴的经典Java书籍《Java面向对象编程》

Java语言用static修饰符进行静态导入的作用和语法_System_02

标签:Java,静态,修饰符,System,导入,static,Integer,out
From: https://blog.51cto.com/sunweiqin/7894269

相关文章

  • Java基础语法(超级详细哦!!!)
     1.注释注释是对代码的解释和说明文字。Java中的注释分为三种:单行注释://这是单行注释文字多行注释:/*这是多行注释文字这是多行注释文字这是多行注释文字*/注意:多行注释不能嵌套使用。文档注释(暂时用不到):/**这是多行注释文字这是多行注释文字这是多行注释文字*/使用的技......
  • 面试题支招:Java基本类型和引用类型有哪些区别?
    大力:“基本类型与引用类型有什么区别?”卫琴:“概括起来,两者有三个区别。掌握了这三个区别,就会对这两种Java类型的本质一目了然。”区别一:基本类型只表示数据,而引用类型(数组类型除外)所引用的对象除了表示数据,还可以拥有方法。下面以double基本类型和Double类类型为例,来解释这两者的区......
  • elasticsearch通过Java class类的@Setting和@Mapping来定义索引index
    今天就来和大家讲讲如何将es索引中的mapping和setting在索引index和class联系起来,其实在这个问题也困扰我好久了,一直没有解决,在elasticsearch7.x版本的时候貌似好像可以用request在程序中来建立索引,像Stringindex=“{“mapping”:...}”之类的操作,干起来比较复杂,在elasticsearch......
  • 用java.net.URL类等访问HTTP服务器读取网页数据
    大力:“Java网络编程需要通过套接字去进行客户程序与服务器程序的交互,这种底层的通信实现起来比较麻烦,有没有现成的API呢?”卫琴:“JDK为基于HTTP协议的网络通信提供了协议处理框架API,Java客户程序通过它来访问HTTP服务器,会很方便。”本文以HTTP客户程序为例,介绍URL类和URLConnection......
  • Java String类
    1.substring()方法返回字符串的子字符串。publicStringsubstring(intbeginIndex)或publicStringsubstring(intbeginIndex,intendIndex)1classMain{2publicstaticvoidmain(String[]args){3Stringstr=newString("thismypractice");4......
  • Java中 length 和 length()的区别
    在Java中,str.length针对的是数组,而str.length()针对的是针对的字符串数组(str.length) 的特点有:长度固定,类型固定。因此数组的长度就可以被视为是一种数组的属性字符串(str.length()) :string的内部机制是一个char数组,而char数组有自己的长度属性,所以string就没必要......
  • java 获取月初的第一天
    一、背景点击查看代码SimpleDateFormatdf1=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");Datedate=newDate();Dateda=newDate(date.getYear(),date.getMonth(),01);Timestamptimestamp=Timestamp.valueOf(df1.format(da......
  • 在Java中,如何避免检查空值?
    内容来自DOChttps://q.houxu6.top/?s=在Java中,如何避免检查空值?我使用x!=null来避免空指针异常。有没有其他的替代方法?if(x!=null){//...}在我看来,这是一个相对常见的问题,初级到中级的开发人员在某个时候都会遇到:他们要么不知道,要么不信任他们参与的合同,......
  • cpu在执行 java时,java指令是保存在数据cache中还是指令cache中
    Java代码在运行时,首先由JVM(JavaVirtualMachine)编译器将Java字节码转换成本地机器代码,然后再由CPU执行。在CPU中,指令缓存(InstructionCache)和数据缓存(DataCache)都是用于提高CPU处理效能的缓存结构,它们是处理器访问内存的缓存。对于生成的代码(或者说指令),它会被放入指令缓......
  • Java AbstractQueuedSynchronizer
    目录前言CLH锁AQS框架AQS核心思想AQS的同步状态AQS对资源的共享方式AQS的重要方法AQS的数据结构NodeConditionObjectConditionConditionObjectAQS源码分析核心方法acquire方法addWaiteracquireQueuereleaseAbstractQueuedSynchronizer总结前言Java中的大部分同步类,如L......