静态导入import static的作用

最近学习Junit时,Assert类中的断言方法:assertEquals、assertTrue、assertFalse等等都是静态方法。例句中直接使用静态导入import static org.junit.Assert.*。

 静态导入,是对于import语句的加强,能让你省略包名,也能省略静态方法/字段所在类的类名。也就是说,静态导入允许你在调用其它类中定义的静态成员时,忽略类名。
例1:(不是使用静态导入

package com.test.junit;

import org.junit.Assert;
import org.junit.Test;

public class CalculateTest {
	@Test
	public void testSum(){
		Boolean flag = true;
		System.out.println("没有使用静态导入");
		Assert.assertTrue(flag);
	}
}

例2:(使用静态导入)

package com.test.junit;

import static org.junit.Assert.*;

import org.junit.Test;

public class CalculateTest {
	@Test
	public void testSum(){
		Boolean flag = true;
		System.out.println("没有使用静态导入");
		assertTrue(flag);
	}
}


eclipse中自动导入即ctrl+shift+o,导入的是非静态导入,如果是支持静态导入需要去开启进入导入操作,操作流程如下

点击Window->Preferences->Java->Editor->Content Assist

静态导入import static的作用_第1张图片

进入

静态导入import static的作用_第2张图片

可以设置导入静态方法或静态类型

你可能感兴趣的:(java)