黑马程序员技术交流社区

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

作者: 黄嵘才    时间: 2012-12-29 12:09
标题: 静态导入
我有一个问题
静态导入后就可以直接使用静态成员。
如果有多个导入,这里头有重名的成员冲突了。怎么办。

作者: 张胜格    时间: 2012-12-29 12:13
本帖最后由 张胜格 于 2012-12-29 12:15 编辑

那就要写出具体属于哪个类了。
作者: 冉世友    时间: 2012-12-29 12:53
这个时候就需要在成员前面加上包名和类名了
作者: 刘丰伟    时间: 2012-12-29 12:57
在进行Static Import的时候,可能会出现“两个语句导入同名的静态成员”的情况,这种情况下,系统会这样处理:
1.如果两个语句都是精确导入的形式,或者都是按需导入的形式,那么会造成编译错误,这时候就只能通过指定是哪个类的方法解决,
2.如果一个语句采用精确导入的形式,一个采用按需导入的形式,那么采用精确导入的形式的一个有效,
另外如果两个同名的静态成员一个是属性,而另一个是方法,那么因为使用时的写法有差异,不会造成任何的冲突。

作者: 张会文    时间: 2013-1-3 15:27
静态导入是JKD1.5后新加的功能,一般不怎么常用,很简单给你举个例子你就能明白了,看这段代码:import static java.lang.System.out;//导入java.lang包下的System类的静态方法out;public class HelloWorld{    public static void main(String[] args){        out.print("Hello World!");//既是在这里不用再写成System.out.println("Hello World!")了,因为已经导入了这个静态方法out。    }}import xxxx 和 import static xxxx的区别是前者一般导入的是类文件如import java.util.Scanner;后者一般是导入静态的方法,import static java.lang.System.out;
作者: 黄锦成    时间: 2013-1-3 19:23
一般都不用静态导入,如果你使用了静态导入,有时候会以为本类中定义了这个方法,造成误解,还是用类名.方法比较好
作者: 刘圣繁    时间: 2013-1-4 15:52
很简单啊 如果冲突了 就不得不类名.方法名   




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