黑马程序员技术交流社区

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

作者: 彭颖    时间: 2013-3-26 00:12
标题: 导入问题
本帖最后由 彭颖 于 2013-3-26 09:17 编辑

JDK1.5之后有个新特性,静态导入;
请问,静态导入和我们一般所导入的包有什么区别或者是用法上的不同
作者: 程宁宁    时间: 2013-3-26 00:26
本帖最后由 破落 于 2013-3-26 00:30 编辑

静态导入:如下面的
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("XXXXX")了,上面已经导入了这个静态属性out。   
      }
}
import xxxx 和 import static xxxx的区别:
    前者一般导入的是类文件:如import java.util.Scanner;
    后者一般是导入静态的属性:如import static java.lang.System.out
作者: 祁振朋    时间: 2013-3-26 00:54
import static语句导入一个类中的某个静态方法或所有静态方法

例如:

import static java.lang.Math.min;
public class StaticImport {
public static void main(String[] args) {
  System.out.println(min(90, 50));
  System.out.println(min(35, 39));
}
}


作者: 123    时间: 2013-3-26 08:58
import:用于导入一个包中的一个类或者多个类;
import static:用于导入一个类中的一个或者多个静态方法;
两者导入的对象是不一样的。很容易区分。
作者: 黑马十八期0513    时间: 2013-3-26 14:57
通过import static xxx.*;的格式可以将xxx类中的所有静态成员导入。
例如:
import static java.lang.System.*;
public static void main(String []args){
        out.println(“Hello World”);
}
此时,再调用System类中的静态成员时,就不用再写System.,而是直接写方法名加参数,这样做只是为了让代码书写的时候更便捷。
而导入包则是为了要使用导入的内容。默认情况下,我们使用的包是java.lang包,lang包中的所有成员我们都可以直接使用。但是当调用其它包中的类时,就需要导入这个类所在的包。
另外,静态导入还需要注意上点:当父类方法中有该静态方法时,则不能进行静态导入!






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