-----Test.java------//import com.speek.hello.hello1;
//import com.speek.hello.hello2;
import com.speek.hello.*;
public class Test
{
public static void main(String[] args)
{
hello1 h1 = new hello1();
hello2 h2 = new hello2();
h1.sayHello();
h2.sayHello();
}
}-----hello1.java------package com.speek.hello;public class hello1
{
public hello1()
{
System.out.println("Hello1 Construct...");
}
public void sayHello()
{
System.out.println("Hello1 SayHello");
}
}-----hello2.java------package com.speek.hello;public class hello2
{
public hello2()
{
System.out.println("Hello2 Construct...");
}
public void sayHello()
{
System.out.println("Hello2 SayHello");
}
}
编译hello1.java hello2.java后,已经将他们生成的class文件放在C:\;并且设置环境变量classpath = C:\;
我测试过,如果用那两行注释的话,可以编译和运行,但是如果用import com.speek.hello.*;的时候就会出错:D:\AllWork\Java基础>javac Test.ja
Test.java:8: 无法访问 hello1
错误的类文件: .\hello1.java
文件不包含类 hello1
请删除该文件或确保该文件位于正确的类路径子
hello1 h1 = new hello1();
1 错误
//import com.speek.hello.hello2;
import com.speek.hello.*;
public class Test
{
public static void main(String[] args)
{
hello1 h1 = new hello1();
hello2 h2 = new hello2();
h1.sayHello();
h2.sayHello();
}
}-----hello1.java------package com.speek.hello;public class hello1
{
public hello1()
{
System.out.println("Hello1 Construct...");
}
public void sayHello()
{
System.out.println("Hello1 SayHello");
}
}-----hello2.java------package com.speek.hello;public class hello2
{
public hello2()
{
System.out.println("Hello2 Construct...");
}
public void sayHello()
{
System.out.println("Hello2 SayHello");
}
}
编译hello1.java hello2.java后,已经将他们生成的class文件放在C:\;并且设置环境变量classpath = C:\;
我测试过,如果用那两行注释的话,可以编译和运行,但是如果用import com.speek.hello.*;的时候就会出错:D:\AllWork\Java基础>javac Test.ja
Test.java:8: 无法访问 hello1
错误的类文件: .\hello1.java
文件不包含类 hello1
请删除该文件或确保该文件位于正确的类路径子
hello1 h1 = new hello1();
1 错误
以上操作就有问题吧
应该是 -com
--speek
---hello
----hello1.class
----hello2.class 文件目录结构应该如上吧
加入:package com.speek.hello; 肯定不会报错!
把编译好的两个hello类放进去
放到C:\\com\speek\hello 下面
把编译好的两个hello类放进去
//import com.speek.hello.hello1;
//import com.speek.hello.hello2;
的导入,也应该不能运行因为类路径根本就找不到这两个类
了,加了这个段代码,会提示这句在这里没有被用到,也就是没有用处.象下面这样加是可以的,不会有警告,因为它认为这个包下可能不只这两个类,你只想导这两个类是不会有任何警告的.
//import com.speek.hello.hello1;
//import com.speek.hello.hello2;但也只是个警告而已啊,怎么会在 楼主那就报错了呢.
1.你要把Test.java和com/speek/hello放在一个目录下面
2.保证在Test.java的当前目录下面没有hello1.java,hello1.class,hello2.java,hello2.class这样就没有问题了!
但是运行的时候还得到com.speek.hello下真是麻烦
就是运行的时候还得java com.speek.hello.Test为什么我自己写的就要这样,那java提供的为什么就可以不要这样呢?
编译和运行挺麻烦的
可不可以让test.java不用package啊?只要回答下这个的我多给分噢```
hello
这就是为什么java提供的类的路径