java基础之静态导入 static import

今天在看项目代码时,看到一个方法被调用,竟然不是类自己的...很是疑惑...

demo代码如下:

package com.xubao.test.basic;

import static java.lang.Math.sin;

 public calss DemoClass(){

public void sayHello(){

System.out.println(sin(0));

}

}

在demo 中, DemoClass 的satHello 方法调用 sin方法,

而sin方法并没有在DemoClass中定义,不是DemoClass的属性,是否是很困惑呢?

在阅读一遍代码,才发现各种玄机.此处使用了import static  关键字,静态导入了Math的sin方法.

在IDE中,跟踪代码,即可跟踪到该方法的声明所在地.

此处便可发现,静态导入降低了代码的可读性,让代码的维护者感到困惑.但确实提高了敲代码的速度.可以减少代码的敲击量.


下面就来讲讲这个静态导入机制,以及它的用法吧.

静态导入:  jdk1.5中引入了 import static 语法 来实现静态导入类的静态成员,导入后,可以省略类名,直接调用静态导入类的静态成员.

使用范例如上.


下面说说什么时候使用它最佳:

1.类中调用的比较多,导入的来源很清晰.如Math,其中有很多都是数学上使用的公式

2.类中频繁调用的静态方法,来源数比较少的..比如就一个自己写的Util类,你需要经常调用Util下的静态方法...这时,使用可以方便敲代码.



除此之外,切记不要使用...虽然当你使用的时候,可能少敲了一些代码,但是在维护阶段,维护人员需要花费更多的时间来理解你的代码.

弊大于利.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值