import static和import的区别?
------》解释
静态导入是JDK1.5中的新特性。一般我们导入一个类都用 import com.....ClassName;而静态导入是这样:import static com.....ClassName.*;这里的多了个static,还有就是类名ClassName后面多了个 .* ,意思是导入这个类里的静态方法。当然,也可以只导入某个静态方法,只要把 .* 换成静态方法名就行了。然后在这个类中,就可以直接用方法名调用静态方法,而不必用ClassName.方法名 的方式来调用。
这种方法的好处就是可以简化一些操作,例如打印操作System.out.println(...);就可以将其写入一个静态方法print(...),在使用时直接print(...)就可以了。
但是这种方法建议在有很多重复调用的时候使用,如果仅有一到两次调用,不如直接写来的方便。
--------》应用场景
是的这样做是让程序员引用方法或者属性更加方便:
如我们在编写Junit测试用例时,都要使用assertEquals这个方法,如果我们不静态导入
import static org.junit.Assert.*;那么所有的测试用例中的assertEquals方法都必须些为:
Assert.assertEquals,那么这就太冗余了。
因此就像1楼所说的多次重复使用建议静态导入,否则还有可能引起混淆,并且这样的做法并不符合面向对象的程序设计。
参考 http://topic.csdn.net/u/20081016/11/58d52adf-57a3-4750-a5c1-d877a2db3965.html
分享到:
相关推荐
Java包的静态导入import static和import的区别
jekyll-contentful-data-import, Contentful static 站点生成器的插件 Jekyll-Contentful-Data-Import Contentful 为数字团队提供内容基础设施,以支持网站,应用程序和设备中的内容。 CMS不同,Contentful是用来...
import java.net.*; import java.io.*; public class udptest { ///创建一个数据包套接字对象ds,并且指定连接的端口号 ///创建一个数据包对象dp ///指定一个字节数组,用来存储接受的数据 public static void ...
3.Virtual关键字不可以和static private delegate 方法一起使用。 iterface 接口 接口以I开头,后面以单词来重命名。 例如IComputer 接口不允许使用访问修饰符 pulbic private protected 接口不可以使用修饰符 ...
import java.io.*; public class FirstPart{ public static void main(String[] args) throws Exception{ System.out.print("The input Fahrenheit is "); BufferedReader br = new BufferedReader(new ...
import info.monitorenter.cpdetector.io.ASCIIDetector; import info.monitorenter.cpdetector.io.CodepageDetectorProxy; import info.monitorenter.cpdetector.io.JChardetFacade; import info.monitorenter....
假设现有需求如下: 需要一个页面分页展示信息,在该页面添加搜索框以提供...from django.conf.urls.static import static from django.conf import settings from django.contrib.staticfiles.urls import staticfi
import java.util.Scanner; public class Test3 { public static void main(String[] args) { System.out.println("请您输入要打印的金字塔的行数: "); Scanner sca=new Scanner(System.in); int nu=sca....
import static java.sql.DriverManager.getConnection; import java.rmi.Remote; import java.sql.Connection; import java.sql.SQLException; import java.sql.Statement; public abstract class BaseDao ...
电池广播信息// 电池状态import static android.os.BatteryManager.EXTRA_STATUS;// 未知import static android.os.BatteryManager.BATTERY_STATUS_UNKNOWN;// 充电中import static android.os.BatteryManager....
主要介绍了Java里的static import使用小结,本文给出了一些使用示例,并总结了一些使用特性,需要的朋友可以参考下
Android Menu和ListView 整合设计 源码 package com.MyMenu; import android.app.Activity; import android.database.Cursor; import android.database.sqlite.SQLiteCursor; import android.os.Bundle; import ...
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintStream; import java.net.ServerSocket; import java.net.Socket; import java.text....
android 游戏开发入门指南,英文版本。
from django.views import static from django.conf import settings #路由静态文件和图片 urlpatterns = [ url(r'^static/(?P<path>.*)$', static.serve, {'document_root': settings.STATIC_ROOT}, name='media')...
import static org.eck.spec.Spectre.describe ; import static org.eck.spec.Spectre.before ; import static org.eck.spec.Spectre.after ; import static org.eck.spec.Spectre.it ; import java.util.ArrayList ...
import static org.hamcrest.Matchers.notNullValue; import static org.junit.Assert.assertThat; import org.cassandraunit.dataset.IDataSet; import org.cassandraunit.dataset.xml.ClassPathXmlDataSet; ...
import java.awt.*; import java.awt.event.*; import java.util.*; import javax.swing.*; import javax.swing.event.*; import javax.swing.table.*; public class MyCalendar extends JApplet { public...
import java.awt.Point; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Date; import java.util.EnumSet; import java.util.HashSet; import java....
import java.io.IOException;import java.nio.ByteBuffer;import android.app.Activity;import android.media.MediaCodec;import android.media.MediaCodec.BufferInfo;import android.media.MediaCodecInfo;import ...