请教为什么写 import java.awt.graphics而不写import java.graphics?java.awt里面还有其他的什么类吗?

来源:百度知道 编辑:UC知道 时间:2024/09/20 14:42:31
还有为什么写import java.applet.Applet直接写import java.Applet不是更好吗?

你了解package的概念会知道java.applet.Applet这里的除了最后一个Applet其他的都是文件夹,就是说Applet这个类在
applet这个文件夹的下面。

假如说我们在eclipse上定义一个com.baidu.zhidao.show这样的package,那么你会发现工程目录下会有com, baidu, zhidao, show这样的文件夹,这就是为什么不能把import java.applet.Applet写成import java.Applet的原因了,因为java这个package里面没有Applet这个类。java里面又applet这个文件夹,applet这个文件夹里面才会有Applet这个类。

bongho已经回答得很好了,就如他说的,他们都是文件夹,也就是我们通常说的包,一个包里有好多的类的。

当然你要想简单,比如:你要用Graphics类,那你可以这么写:
import java.awt.*;
这样就包含了awt这个包里的全部类,照你后面的写法那无法找到Graphics类,因为你没有找到相应的包,就像你在外层文件夹里找一个内层文件夹里内容一样。你打开JDK看下,你就会看到各个包内的内容了,我们还可以去查看各个包里类的源文件……当然这得达到一定水平了。呵呵,我也正在学,一起加油吧

其实,估计楼上也不大知道java的包真正的意思;当初设计java包名字的时候,只是为了方便编程人员来通过字面意思来import,也就是说,这只是“为了方便阅读”,很多包的设定的确是一个嵌套一个,就像import java.awt.*;就可以包含很多子包,但是,这并不是一定的。比如java.awt.*之中就不抱恨java.awt.event这个包!!!这是为什么呢?就是为了方便阅读!!这个是为了说明event这个包中所要阐明的是与awt各种容器组建相关的事件,所以才用java.awt.event而不是java.event(其实这样就行了),这两者没有丝毫关系!!!

简单一点说把,我们写自己的工程的时候经常开头用package com.xxx.yyy;这个其实只是一个包,并不就是yyy这个包在xxx里面,只是为了你自己好阅读而已,仅此而已