Java中import语句的学习

原创 2007年10月14日 11:15:00
     
现在,学习import语句。
假设有两个存放在D:/src下的源文件Cited.javaCiting.java
Cited.java文件内的程序:
 
package classes.shang;
public class Cited
{
   public void print()
      {
       System.out.println("Hello World!我是被调用子类的程序输出呀!");
      }
}
Citing.java文件内的程序:
import classes.shang.Cited;
public class Citing
{
   public static void main(String[] args)
     {
      Cited demo=new Cited();
      System.out.printf("/n这是一个pakage语句和import语句的演示程序:我将调用Cited类,它会输出:/n/n");
      demo.print();
     }
}
如图所示运行:
 
可能出现的其他几种情况:
   运行命令:javac Cited.java。这种情况下生成Cited.class文件存放在当前文件夹下即D:/src下,这里如有不明白可以参考package语句学习。当编译Citing.java时会提示以下错误:
 
D:/src>javac Citing.java
Citing.java:1: 软件包 classes.shang 不存在
import classes.shang.Cited;
                    ^
Citing.java:6: 无法访问 Cited
错误的类文件: ./Cited.class
类文件包含错误的类: classes.shang.Cited
请删除该文件或确保该文件位于正确的类路径子目录中。
      Cited demo=new Cited();
      ^
2 错误。
    这是因为Citing.java文件指明在classes/shang路径引用Cited.class,在结合类路径下仍然无法找到所要的类文件。
 
 
运行命令:javac -d . Cited.java。这种情况下当前文件夹下生成classes文件夹,classes文件夹下生成shang文件夹。Cited.class文件存放shang文件夹下,Cited.class文件的路径即D:/src/classes/shang。运行命令javac Citing.java可以成功,因为当前工作路径已经是D:/src,编译程序首先搜索当前路径结合import语句就可以找到D:/src/classes/shang下的Cited.class文件。当然也能运行成功,但这样失去packagey语句的作用,未能完全将源文件和类文件分开。存储类文件的classes文件夹在存储源文件的src文件夹下。
注意到Citing.java中的import语句指明引用Cited类,若改为通配符*;运行命令:javac -d E:/ Cited.java,编译成功,可是当运行命令:javac Citing.java,就会出现如下提示错误:
 
 
Citing.java:6: 无法访问 Cited
错误的类文件: ./Cited.java
文件不包含类 Cited
请删除该文件或确保该文件位于正确的类路径子目录中。
      Cited demo=new Cited();
      ^
1 错误
 
我们已经设置classpath,怎么还会出现上面如:无法访问、文件不包含类的错误呢?编译程序首先搜索当前路径下的文件,搜索Cited.java造成错误,可以在编译Cited.java成功后,删除Cited.java,再运行命令:javac Citing.java。整个过程如图:
 
如果运行的命令是javac Cited.java,成功后,运行命令javac Citing.java,结果出现如下提示错误:
Citing.java:1: 软件包 classes.shang 不存在
import classes.shang.*;
^                                                
Citing.java:6: 无法访问 Cited
错误的类文件: ./Cited.class
类文件包含错误的类: classes.shang.Cited
请删除该文件或确保该文件位于正确的类路径子目录中。
      Cited demo=new Cited();
      ^
2 错误
 
希望上面的内容,能对大家有帮助。
本人是一初学者,以上想法难免有不当,不准确和错误之处,希望大家多多包涵,欢迎批评指正。
也欢迎交流讨论,
我的qq:348737102
e-mail:Shang_023@126.com

Java中的import语句

import导入声明可分为两种:  1> 单类型导入(single-type-import)  例:import java.util.ArrayList;  2> 按需类型导入(type-...
  • u010708434
  • u010708434
  • 2013年08月24日 23:04
  • 2292

JAVA学习之包与import语句(三)

包 不同的Java源文件中可能出现名字相同的类,要想区分这些类,就需要使用包名,包名的目的就是有效的区分名字相同的类,不同Java源文件中两个类名字相同时,它们可以通过隶属不同的包来区分。 下面是运行...
  • ZDX_Y
  • ZDX_Y
  • 2016年04月13日 12:48
  • 657

import引入语句

在Java中,若想利用包的特性,可使用引入(import)语句告诉编译器要使用的类所在的位置。实际上,包名也是类名的一部分。例如,如果abc.Student包中含有Gui类,则该类可称作abc.Stu...
  • gt_evolution
  • gt_evolution
  • 2015年10月19日 17:16
  • 428

Java千百问_05面向对象(002)_package和import作用是什么

点击进入_更多_Java千百问1、java中package是什么即包。简单地说,它是分类class(类)与interface(接口)的方式。 在Java开发中,将会写数以百计的类和接口,因此,对它们...
  • ooppookid
  • ooppookid
  • 2016年04月16日 15:12
  • 4133

新手如何使用Eclipse创建包并且调用import语句使用这个包

今天第一次使用Eclipse开发平台。。。嘿嘿。。错误请指出。。            使用eclipse工具在创建包时的简单指导           在Eclipse中创建新的包new-packag...
  • fudemin213
  • fudemin213
  • 2013年10月11日 19:47
  • 1700

Python中关于导入(import)语句的使用说明

在所有的语言中,语言的开发者都会为我们提供强大的库文件供我们调用,通过使用这些库文件,我们才可以把程序完美的运行起来,既然要用到库文件,我们就要导入我们需要使用的库文件,因为,机器是不知道我们想基于哪...
  • u013279509
  • u013279509
  • 2014年05月16日 16:05
  • 6370

JAVA学习笔记(三) - 选择语句

选择语句选择语句-if/* * 选择语句-if */ public class Test { public static void main(String[] args) { ...
  • wangzi11322
  • wangzi11322
  • 2015年03月20日 17:02
  • 1181

java--综合练习

1. 在JAVA中,下列哪些说法是正确的( )   A.java源文件的扩展名为.java B.写好的java源程序可以直接运行 C.编写的源程序必须先编译后才能运行 D.程序员可以读懂扩...
  • hl6621
  • hl6621
  • 2017年12月29日 10:41
  • 79

java学习笔记之sql常用语句

DDL(Data Definition Language):数据库定义语句; DML(Data Manipulation Language):用于增删改查数据库中数据; DCL(Data Contro...
  • BeauXie
  • BeauXie
  • 2016年10月17日 20:57
  • 1242

Python import语句导入模块语法

import语句作用 import语句作用就是用来导入模块的,它可以出现在程序中的任何位置。 import语句语法 使用import语句导入模块,import语句语法如下: imp...
  • qq_15013233
  • qq_15013233
  • 2016年05月20日 15:04
  • 387
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java中import语句的学习
举报原因:
原因补充:

(最多只允许输入30个字)