A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 彭颖 中级黑马   /  2013-3-26 00:12  /  1761 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 彭颖 于 2013-3-26 09:17 编辑

JDK1.5之后有个新特性,静态导入;
请问,静态导入和我们一般所导入的包有什么区别或者是用法上的不同

点评

如果问题未解决,请继续追问回复者,如果问题已经解决,请将分类改为“已解决”,谢谢  发表于 2013-3-26 07:13

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

4 个回复

正序浏览
通过import static xxx.*;的格式可以将xxx类中的所有静态成员导入。
例如:
import static java.lang.System.*;
public static void main(String []args){
        out.println(“Hello World”);
}
此时,再调用System类中的静态成员时,就不用再写System.,而是直接写方法名加参数,这样做只是为了让代码书写的时候更便捷。
而导入包则是为了要使用导入的内容。默认情况下,我们使用的包是java.lang包,lang包中的所有成员我们都可以直接使用。但是当调用其它包中的类时,就需要导入这个类所在的包。
另外,静态导入还需要注意上点:当父类方法中有该静态方法时,则不能进行静态导入!

回复 使用道具 举报
import:用于导入一个包中的一个类或者多个类;
import static:用于导入一个类中的一个或者多个静态方法;
两者导入的对象是不一样的。很容易区分。
回复 使用道具 举报
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));
}
}

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 破落 于 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

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马