当前位置:  技术问答>java相关

处学Java请教关于package的问题

    来源: 互联网  发布时间:2017-04-07

    本文导语:  CLASSPATH和PATH都已经设定有了F:javaprogram; 所有源码文件均在此目录下 想要实践一下关于包的知识,在testPack.java中写下 package com.testpack.util; public class testPack{ . . public static int test(int i, int j) {    return i+j;    } ...

CLASSPATH和PATH都已经设定有了F:javaprogram; 所有源码文件均在此目录下
想要实践一下关于包的知识,在testPack.java中写下
package com.testpack.util;

public class testPack{
.
.
public static int test(int i, int j)
{
   return i+j;   
}
}

在F:javaprogram>下使用java -d . testPack.java编译通过,并且成功的创建了子目录而且.class文件正确产生
在另一个fortest.java中引用import com.testpack.util.*;
在class fortest的main函数中如下调用
testPack.test(1, 3)
出现错误如下:
不能解析符号:方法test(int, int)
位置:类 in testPack
    testPack.test(1,3);
            ^
1个错误

如果改成import com.testpack.util.testPack;则程序没有任何问题,而且运行正确


这是怎么回事儿呢?

|
该问题已经解决。呵呵。如coaa(我吃多了) 老兄所说。我尝试了一下,果真如此。不过coaa说的不太清楚而已。

1.我尝试用javac -verbose来编译fortest。发现编译过程中,他发现有import*,就会在当前目录下【注:当你在classpath中包含了当前目录的情况下】查找所有包含在com.testpack.util包中的源文件并进行编译,当发现testPack.java,并且时间戳比class新,便会尝试进行编译,当然,由于没有使用-d参数,他无法正常编译该源文件,便放弃,继续进行fortest.java的check动作,当发现fortest使用了testPack后,就报错:can not resolve symbol。呵呵。

2.注意,当你在fortest.java中使用import具体包名时,他的动作顺序就不一样了。
他首先查找classpath下是否有符合该包名的路径,如果找到,就进去看是不是有testPack.class,如果没有,再找源文件进行编译,当然,我们的情况是肯定可以找到testPack.class的,呵呵。因为已经编译好了的么。当这一步完成后,再进行fortest.java的check动作,从而顺利通过编译。

所以,楼主可以尝试把这两个源文件(testPack.java、fortest.java)放在不同的目录中,就肯定可以通过编译。

不知道我表述的清楚不?如果不清楚,可以和我联系(deniswang@sina.com)。呵呵。希望和大家多多交流,共同进步。
感谢coaa(我吃多了)提出的宝贵思路。

我已经试过了,没问题。
ps:jdk真的很白痴。

|
package的机制是优先找当前目录下的文件,再去找comjswleeutil的.

    
 
 

您可能感兴趣的文章:

  • 在下想学习Java,请教各位大侠,Java 有哪功能
  • 我初学java,请教各位开发java用什么工具好?
  • 请教关于java学习的问题 iis7站长之家
  • 请教各位DX,我是java初学者,如何在win98下配置jdk,在哪可以下载java类库?
  • 请教一些JAVA的基本问题,初学JAVA有些迷糊,帮帮忙!总迷糊实在受不了了!
  • 请教:Java高手读书之路
  • 请教如何用java虚拟机运行hello.class文件,谢谢。
  • 请教:是java包装载不上吗?
  • 请教如何搭建能够运行JAVA的最精简Linux桌面系统
  • 请教一个关于java.policy的问题
  • 刚学习Java,请教关于Java的Application代码编写问题。
  • 最近学JSP,苦于HTML语言和JAVA语言太差,请教推荐几本书,thanks.
  • 请教??如果将.CLASS反编译为.JAVA文件??
  • 请教关于java学习的问题
  • 请教各位高手一个简单的问题:在JAVA 中如何才能取得一些系统信息?
  • 请教学习JAVA的最佳方法?以免走弯路
  • 请教java中的assert的用法
  • 请教一下,如果想在linux下开发java,选哪个版本的linux好一点
  • Think in java 问题。(请教)
  • 请教各位,是JAVA有前途还是C#有前途?多谢!
  • java命名空间javax.lang.model.element枚举elementkind的类成员方法: package定义及介绍
  • 关于java中package的编译问题
  • java命名空间javax.lang.model.type枚举typekind的类成员方法: package定义及介绍
  • java package的问题
  • java命名空间javax.management.remote类jmxconnectorserverfactory的类成员方法: protocol_provider_packages定义及介绍
  • package的使用 jdk1。3 初学java
  • java命名空间javax.management.remote类jmxconnectorfactory的类成员方法: protocol_provider_packages定义及介绍
  • 在编译使用扩展标签的java文件时,得到package javax.servlet.jsp does not exist,package javax.servlet.jsp does not exist的错误
  • java命名空间java.lang.annotation枚举elementtype的类成员方法: package定义及介绍
  • 在程序头加上package为什么在java执行的时候报错
  • Java SNMP Package
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Java读写包括中文的txt文件时不同编码格式问题解决
  • 菜鸟的问题:java与java script 的异同??
  • java新手的问题,java高手帮忙...
  • 低级问题:.java文件交付用户怎么运行,难道也是DOS下:java xx.java?有没有.exe?
  • 请各位java高手几个java有关的问题?
  • java.sql.Date和java.uitl.Date的问题?
  • 问大哥大姐们个问题啊,小第编了自己的第一个JAVA问题。用JAVAC编译能通过啊!可是用JAVA不能执行啊!
  • 最入门级的java问题,如何运行HelloWorld.java
  • Linux下面的开发好的Java程序,如何部署到其他机器?开发好的Java图形程序,终端上能否用?等问题
  • 关于JAVA应用程序(Java Application)的deliver问题
  • 请Linux 和Java 的高手回答:java JDK1.3.1 在红旗Linux Desktop 2.4 的问题,一定给分。
  • 一个极其菜的问题:JAVA,VISUAL J++,JAVA SCRIPT,EJB,它们之间到底有什么关系,谢谢!
  • 我的Javac没有问题,但是java有问题,
  • 一个JAVA继承的问题(Thinking in JAVA里的一个例子)
  • 我所学的是计算机,现在想学JAVA,对JAVA绝对是初学!!!可以交流的留下个地址。肯定给分,不过非完分后就是问题,问题,问题了;)有留E-mail至少1分
  • 两个非常简单的问题,给40分 (才学2天JAVA人的问题)
  • 问个简单的低级又很怪的问题,我在编译*.java的问题。
  • java学习的问题<问题解决立即结贴>?
  • 我是学pb的,有一个问题想请教各位java的朋友,j2ee平台是什么啊?如果要用这个平台的开发pb的话是否要学java??
  • 一个简单问题:JAVA中文问题
  • 初级问题,JAVA编译EJB不成功,不知道是不是path之类的问题,错误如下
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3