关于JAVA import 的一个小问题

问题

有两个简单程序,他们放在同一目录下:
1.
//FileName:Test.java
import Show;
public class Test {
public static void main(String[] args) {
Show Sungo = new Show();
Sungo.MyName();
}
}
2.
//FileName:Show.java
public class Show{
public void MyName(){
System.out.println("My name is HelloWorld!");
}
}
编译Show.java后,再编译Test.java出现下面的错误提示
---------- javac ----------
Test.java:3: '.' expected
import Show;
^
1 error

输出完成 (耗时 1 秒) - 正常终止

-------------------------------
将Test.java文件中
import Show;语句注释掉以后,将编译通过,执行java Test.class ,
---------- java ----------
My name is HelloWorld!

输出完成 (耗时 0 秒) - 正常终止
----------------------------

JAVA编译时搜索CLASSPATH.在CLASSPATH中已经设置了“ .;” 即当前目录。编辑器自动寻找当前目录中包含的类,如果存在即执行,而加入了 import Show;实属多此一举,以前以为这样不会有什么问题,也没有看到有书上说明这个存在问题。通过上面的测试,发现不该做的就不要做,徒劳无益。上面的问题是在一个所谓的权威书籍的样例中发现的,也不知道该书作者是否做个测试,或者他用的是另外一个星球的JDK版本。

另package 和import的简单实例
新建dir文件夹,将Show.java 放入该文件夹下编译。
//FileName:Test.java
import dir.Show;
public class Test {
public static void main(String[] args) {
Show Sungo = new Show();
Sungo.MyName();
}
}
//FileName:Show.java
package dir; //新增的部分
public class Show{
public void MyName(){
System.out.println("My name is HelloWorld!");
}
}
执行结果
---------- java ----------
My name is HelloWorld!

输出完成 (耗时 0 秒) - 正常终止
----------------------------

时间: 2024-12-22 20:27:22

关于JAVA import 的一个小问题的相关文章

音频-我用java写了一个小游戏,想插入背景音乐但不太会,求指教

问题描述 我用java写了一个小游戏,想插入背景音乐但不太会,求指教 package text; import java.io.*; import javax.sound.sampled.*; public class text { public static void main(String[] args) { // TODO Auto-generated method stub //创建一个实例 AePlayWave apw = new AePlayWave("G:\照片\Sleep Awa

java泛型类的一个小问题?

问题描述 java泛型类的一个小问题? java中带有泛型的class在用到(newextendsimplements作为函数参数等)他们时,如果不设置他们的泛型,而只是用该class的名字来操作,编译器会警告说"xxx is a raw type",xxx是个原生类型,你应该设置一下它的泛型的类型.那有没有什么时候就是会用到raw type的?就是只需要这个class的名字,而不需要去设置他的泛型类型? 解决方案 比如说继承,在继承的过程中,你保留泛型参数: class List&l

我自已用java写了一个小系统,但是在输出时TextArea中的文本不能复制是什么问题?

问题描述 我自已用java写了一个小系统,但是在输出时TextArea中的文本不能复制是什么问题? 我自已用java写了一个小系统,但是在输出时TextArea中的文本不能复制是什么问题? 最多只能复制五个字符 一下是部分代码: //声明部分 JTextArea outputText =new JTextArea(); outputText.setLocation(200,350); outputText.setFont(new Font("",1,15)); outputText.s

学习Java中遇到一个小问题,请求解答!

问题描述 TheserializableclassCyberPetAppletdoesnotdeclareastaticfinalserialVersionUIDfieldoftypelong请问这是什么意思呀?程序运行都没有问题,但总是亮着电灯泡,看着都不舒服! 解决方案 解决方案二:需要在类中定义一个这样的静态字段privatestaticfinallongserialVersionUID=8424700649610459072L;这是序列化要求,是因为父类或本类实现了java.io.Ser

【求助】关于Java编程的一个小问题想请教下高手。。。

问题描述 我现在在学习Java,正在写一个输入IP段扫描局域网MAC地址的Application程序.现在想问问各位大侠,就是Java已经编好的关于数据包截获技术的相关方法在哪个类以及包中.我想通过调用该包的相关类中方法实现数据包截获,并通过对截获包的序列号.源地址.目的地址.源端口.目的端口进行分析来实现局域网内的活动主机探测,并统计活动主机数.

关于Java 字符串的一个小问题

问题描述 我在代码里面想实现一个将Object对象打印的功能,具体的代码如下:public class JavaJsonDemo { /** * @param args */ public static void main(String[] args) { Object value = null; String str = "value=" + value; System.out.print(str); }} 这单代码是可以正常执行的. 但是,如果将代码改为  /** * @param

请教一个java线程的一个小问题,求程序执行流程,打印结果为1000 b=1000

问题描述 public class Test implements Runnable{int b = 100;public synchronized void m1() throws Exception{b =1000;Thread.sleep(5000);System.out.println("b:"+b);}public synchronized void m2() throws Exception{Thread.sleep(2500);b = 2000;}public void

新人学习java。在继承上遇到的一个小问题

问题描述 新人学习java.在继承上遇到的一个小问题 代码如下: package construter; class Game { Game(int i){ System.out.println("Game"); }; } class BoarderGame extends Game{ BoarderGame(int i){ super(i);//当我把super参数中的i替换成一个int型数字时就会报错?? System.out.println("BoarderGame c

java-JAVA初学者的一个小问题,求大神解答

问题描述 JAVA初学者的一个小问题,求大神解答 执行完System.out.println("lime");这句后为什么没有换行? 新人,望大神勿喷 解决方案 正确的输出结果就是: lime grape 你说的这个正确答案:limegrape 是不是在哪个书面资料上的啊, 如果自己的结果跟书面上的不同的话,自己动手写一下就是了,书上有很多不对的地方 如果不想换行的话就用System.out.print("lime"); 解决方案二: 你这正确答案不应该是 : li