• 手机站
  • 收藏
聚培教育网合作机构 > 重庆达内教育
重庆达内教育
400-998-6158
重庆达内教育开设了Java、C++、C#/.Net、 PHP、嵌入式、软件测试、UID、网络营销、Linux云计算、主办会计、UED、WEB前端、Java大数据、Unity-3D、少儿电脑编程等课程
重庆达内教育

Java中的import使用

java学习网

更新时间:2021-10-06 浏览:120
核心提示:有的人写了一阵子 Java,但是针对 Java 的 package 跟 import 或是不太掌握。很多人认为初始码 .java 文档中的 import 会让c语言

有的人写了一阵子 Java,但是针对 Java 的 package 跟 import 或是不太掌握。很多人认为初始码 .java 文档中的 import 会让c语言编译器把所 import 的程序流程全都写到编译程序好的 .class 档案资料中,或者觉得 import 跟 C/C 的 #include 类似,事实上,它是不正确的意识。

使我们先了解一下,Java 的 package 究竟有有什么用处。

实际上,package 名字就好像大家的姓,而 class 名字就好像大家的名称。package 名字有很多 。 的,就好像是双姓。例如 java.lang.String,便是双姓 java.lang,名称为 String 的类型;java.io.InputStream 则是双姓

java.io,名称为 InputStream 的类型。

Java 会应用 package 这类体制的缘故也十分明显,如同大家取姓名一样,仅是一间院校的同一届同学们中,就会有很有可能会发生许多同名的的同学们,如果不取姓得话,那院校在解决学员数据信息,或者同学们相互之间的叫法,便会产生非常大的困惑。同样的,全球的 Java 类型总数,也许比台湾人口还多,并且还持续的在发展之中,假如类型不应用模块名字,那在采用同样名字的不一样类型时,便会造成巨大的困惑。幸运的是,Java 的模块名字我们可以自身取,并不像人的姓沒有很大的挑选 ( 因此有很多重名的 ),假如按照 Sun 的标准去取模块名字,那理论上不一样人取于的模块名字不容易同样 ( 客户程序 “取名国际惯例”的相关文章 ),也就不容易产生名字矛盾的状况。

但是那么问题来了,由于许多模块的名字十分的长,在写程序时,会多打许多字,耗费许多時间,例如:

java.io.InputStream is = java.lang.System.in;

java.io.InputStreamReader isr= new java.io.InputStreamReader(is);

java.io.BufferedReader br = new java.io.BufferedReader(isr);

确实是不好看又不便。因此,Sun 想想一个方法,便是 import。

这一 import 便是在程序流程一开头的情况下,先表明程序流程中会采用这些类型的

通称,也就是只叫法名称,不叫法他的姓。*,在档案资料开始写:

import java.lang.System;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.BufferedReader;

这两行表明了这四个名字的类型,在程序流程中仅用他的名字来叫法,因此当程序流程中提及 System 是指 java.lang.System,而 InputStream 是指 java.io.InputStream,以此类推。因此原先的程序流程就变为:

InputStream = System.in;

InputStreamReader isr = new InputStreamReader(is);

BufferedReader br = new BufferedReader(isr);

那样看上去是否清新多了呢?假如这种类型用的频次许多,那么就更能感受到import 的益处了。但是那样或是不足,由于懒是人的天性,依然会有些人感觉打过多 import 了也很混日子,因此 Sun 又给予了一个方式 :

import java.lang.*;

import java.io.*;

含意便是,等一下程序流程中提及的沒有名字的类型,并不是姓 java.lang,便是姓java.io,假如这两个里边有一样名称的类型,而悲剧的你又仅用名称叫法这一类型,那c语言编译器依然会跟你埋怨,因为它或是不清楚你觉得的这一类型指那一

个姓的类型。那能不能再懒一点呢,只写:

import java.*;

历史时间告知大家,人能够懒,但不可以好懒,那样是不好的。由于这些类型是姓 java.io 而不是姓 java。如同姓『诸葛亮』的人应当不容易对你有感觉称他为『诸』老先生吧。

为什么我一开始说 import 跟 #include 不一样呢?由于 import 的作用到这里,它并不像 #include 一样,会将档案资料內容加载进去。import 仅仅请c语言编译器帮你电脑打字,让c语言编译器把沒有姓的类型再加上姓,并不会把其他文档的程式码写进来。假如你要练习打字,能够不必应用 import,只需在采用类型的情况下,用它的所有名字来叫法它就可以了(如同事例一开始那般),跟应用 import 彻底沒有什么两种。

此外,尽管人不能好懒,可是 Sun 或是帮大家多偷了一点懒。由于java.lang 这一模块确实是太常太常太常见到,基本上沒有程序流程无需它的,因此无论你有没有写 import java.lang;,c语言编译器都是会全自动帮你补上,换句话说c语言编译器只需见到沒有姓的类型,它便会全自动去 java.lang 里边找找看,看这个类型是否归属于这一模块的。因此大家就无需尤其去import java.lang了。

更多>同类资讯
更多>相关课程
顶部