黑马程序员技术交流社区

标题: 静态导入的问题 [打印本页]

作者: 高阳    时间: 2013-1-9 16:59
标题: 静态导入的问题
public static java.lang.Math.*;
比如这样,Math只是个例子
能够使用他的属性和构造器吗,
和正常时使用除了不用写类名,还有其他需要注意的事项吗
作者: 黑马11期李项京    时间: 2013-1-9 21:24
public static java.lang.Math.*
意思导入Math的所有静态方法
只要是Math的静态方法就可以直接使用,而不用新建对象了
作者: 肖志锋    时间: 2013-1-9 21:34
静态导入的方式是:import static java.lang.Math.*;  格式是:import static 类的完全限定名.属性或者方法;
他这里已经导入到方法级别了,看到后面那个星号没有,那个星号可以是属性,也可以是方法。
你想想,你都已经是到了方法级别了,你还能使用其他的属性和构造器吗?你都没导入怎么使用?假设我 import static java.lang.Math.PI;那也就是说我已经导入了PI,你当然不能使用其他的方法和构造函数什么的了。如果你导入的是* ,也就是说你把这个类的所有静态属性和方法全部导入了,那必然是可以使用其他的了。但这跟你的问题完全是两码事,你能理解吗?
当然了,我前面说的都是正常的方式,如果你使用反射的话,当然是可以去调用其他的属性和方法,甚至是构造函数。这就另当别说了。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2