论坛首页 Java企业应用论坛

Java5新特性----静态导入

浏览 9678 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (4) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-09-12  
  今天在看书的时候,看见了“静态导入”的这个概念,上网一查才知道是JDK5.0的新特性,真是孤陋寡闻了,所以好好学习了一下。
  静态导入,在你自己的类中使用静态导入,可以让你使用其它类中定义的类方法和类变量,而且这些类方法和类变量就像在本地定义的一样。也就是说,静态导入允许您在调用其它类中定义的静态成员时,可以忽略类名。

写一段代码理解一下(代码是最好的教科书

Test类里定义了一些静态常量和方法
package org.yaoyuan.test;

public class Test {

	public static final int A = 10;
	public static final double B = 10.00;
	public static final double C = 20.00;
	
	public static double add(double double1, double double2){
		return double1 + double2;
	}
	
	public static double Threeadd(double double1, double double2, double double3){
		return double1 + double2 + double3;
	}
	
	public static void p(String str){
		System.out.println(str);
	}
}


Test2静态导入了Test类里的常量和方法
package org.yaoyuan.test;
import static org.yaoyuan.test.Test.A;
import static org.yaoyuan.test.Test.B;
import static org.yaoyuan.test.Test.C;
import static org.yaoyuan.test.Test.add;
import static org.yaoyuan.test.Test.Threeadd;
import static org.yaoyuan.test.Test.p;

public class Test2 {

	public static void main(String[] args){
		
		System.out.println("A的值是:" + A);
		System.out.println("B的值是:" + B);
		System.out.println("C的值是:" + C);
		
		double E = add(A, B);
		double F = Threeadd(A, B, C);
		
		System.out.println("E的值是:" + E );
		System.out.println("F的值是:" + F);
		
		p("こんにちな,JDK新新特性---静态导入!");
		
	}
}



控制台输出信息:

A的值是:10
B的值是:10.0
C的值是:20.0
E的值是:20.0
F的值是:40.0
こんにちな,JDK新新特性---静态导入!
   发表时间:2008-09-12  
感觉jdk1.5这个新静态导入特性不怎么好。容易给人造成困扰啊。。就比如这个add方法,让别人感觉是在调用自己的
0 请登录后投票
   发表时间:2008-09-12  
zeng_love 写道
感觉jdk1.5这个新静态导入特性不怎么好。容易给人造成困扰啊。。就比如这个add方法,让别人感觉是在调用自己的

今天在书上才看到,以前从来这么用过,但是看起来还是很好用的,以后可能还回尝试去应用一下,确实给人一种调用自己的误解,但是前面已经声明了。在写程序的时候,这确实是一种很好的方法。
0 请登录后投票
   发表时间:2008-09-13  
感觉还是读起来清晰更重要。
0 请登录后投票
   发表时间:2008-09-14  
没用过,不过想问一下,有什么好处?
0 请登录后投票
   发表时间:2008-09-14  
可能对于静态方法还可以用一下,对于静态常量一般好像没有什么大的用途。因为我们的常量一般都比较长,而且通常会以全部大写来定义常量并且带下划线的形式。所以我还是喜欢用原来的方法。

另外,我们的程序现在还常常要求兼容JDK1.4, 所以我们还不能采用JDK1.5特有的语法。因为人们常常认为JDK1.5只是一个过度的JDK, 到现在为止,给我的感觉好像还是1.4用得比较多,当然我的感觉不一定对呀。反正在我们的客户中是这种情况。我倒更期待JDK1.6的快速成熟。
0 请登录后投票
   发表时间:2008-09-14  
测试的时候能少写不少代码。。
0 请登录后投票
   发表时间:2008-09-15  
WhisperXD 写道
测试的时候能少写不少代码。。

这到是
   挺方便的.
具体的实践,还没尝试过,不知道是不是很好用,但是听了大家的讨论,有机会一定试试,看看到底怎么样.....
0 请登录后投票
   发表时间:2008-09-16  
貌似还不错,不过最好不要用。
0 请登录后投票
   发表时间:2008-09-16  
54powerman 写道
貌似还不错,不过最好不要用。

楼上
  此话怎么讲
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics