两个不在同一个包内,要import JDir.pack.Generator
解决方案 »
- javase问题,什么是数组、正则表达式及多态
- 高手请进!!!
- eclipse打可执行包如何引用其他的一些外部包(比如commons-collections-3.2.1.jar)
- 求教IO流的学习侧重点
- BYTE数组怎样循环赋值给CHAR数组
- 关于GridBagLayout的使用的问题--当缩小JFrame的时候,最上面的Menubar栏就隐藏掉了,怎么样固定其高度呢?
- 请高手找错!
- 紧急求助,我想获得当前的日期值,和三个月后的日期值,请各位帮忙,谢谢
- JB5 Socket传输的汉字如何正常显示???
- 为什么windows8.1安装不了jdk 7u67
- 请教如何 在choice中列出某个文件夹下的所有文件
- 关于对2进制的文件的存储的问题,也就是关于I/O的问题。请各位进来看看,谢谢。
Generator.class 在c:\my_class\JDir\pack\Generator.class
Arrays2.class 的位置无所谓如果两个文件在同一个目录下,你可以把Generator.class 前面的语句去掉就可以了.其实去掉了package,隐含意味着它们在一个default package中.
是这样的
package JDir.Mypack;
import java.util.*;
public class Arrays2
{
public static void
fill(Object[] a,Generator gen)
{
fill(a, 0, a.length, gen);
}
public static void
fill(Object[] a, int from, int to,Generator gen){
for(int i = from; i < to; i++)
a[i] = gen.next();
}
}
import java.util.*;
import JDir.Mypack.*;// add
public class Arrays2
{
public static void
fill(Object[] a,Generator gen)
{
fill(a, 0, a.length, gen);
}
public static void
fill(Object[] a, int from, int to,Generator gen){
for(int i = from; i < to; i++)
a[i] = gen.next();
}
}
Generator.class 在c:\my_class\JDir\pack\Generator.class
Arrays2.class 在c:\my_class\JDir\pack\Arrays2.class 程序无需改动,如果两个都去掉package的话也可以正常运行. 当然你的classpath中要包含 "."
C:\jdir\mypack\Arrays2.java
C:\jdir\mypack\Generator.java
Generator.class 在c:\my_class\JDir\pack\Generator.class
Arrays2.class 在c:\my_class\JDir\pack\Arrays2.class 编译时
java -cp c:\my_class JDir.pack.Arrays2
SET PATH=%PATH%;%JAVAHOME%\BINPATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\JDK\BIN;SET CLASSPATH=.;C:\j2sdk14\lib\tools.jar;
C:\JDIR;%CLASSPATH%
我的AUTOEXEC.BAT 文件,重起之后仍然不对(Generator.java通过Arrays2.java(不通过))
干脆 javac *.java.
不过后者要求所有用到的java文件在统一目录下,自然,包路径也是一样的了,对你来说没有什么意义吧。
实在不行,请将两个类放一个包里 ,嘿嘿 :P
javac *.java?
javac *.java 成功
TO ALL:
我用的是TEXTPAD单独解释一个Arrays2.JAVA()
仍有错误
package mypack;
public interface Generator {
Object next();
}
//Arrays2.java
package mypack;
public class Arrays2
{
public static void
fill(Object[] a,Generator gen)
{
fill(a, 0, a.length, gen);
}
public static void
fill(Object[] a, int from, int to,Generator gen){
for(int i = from; i < to; i++)
a[i] = gen.next();
}
}
package mypack;
interface Generator {
Object next();
}
abstract class Arrays2 implements Generator
{
public static void
fill(Object[] a,Generator gen)
{
fill(a, 0, a.length, gen);
}
public static void
fill(Object[] a, int from, int to,Generator gen){
for(int i = from; i < to; i++)
a[i] = gen.next();
}
}
注意Generator是个接口,所以引用时把Arrays2 class定义为abstract
21cnfox
C:\jdir\mypack\Arrays2.java
C:\jdir\mypack\Generator.java//Generator.java
package jdir.mypack;
public interface Generator {
Object next();
}package jdir.mypack;
import java.util.*;class Arrays2
{
public static void main(String[] args)
{
Generator gen;
System.out.println("Hello World!");
}
}
可以正常编译,注意package名字要全部小写