站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题我搞不明白JAVA编译代码时遇到的错误提示

我搞不明白JAVA编译代码时遇到的错误提示

摘要: 我搞不明白JAVA编译代码时遇到的错误提示


我是JAVA的初学者,很多错误报告的不会分析,请大家帮助一下,下面是我编写的类:
public class EchoStringComponent{
public String message;
public EchoStringComponent(String msg){
this.message=msg;
}
public void display(){
System.out.println("--EchoStringComponent display()--");
System.out.println(message);
System.out.println("-----------end-------------");
}
}
下面是主程序:
import EchoStringComponent;
public class HelloJavaWorldDemo
{
public static void main(String args[]){
String buf ="Hello,Java World!";
EchoStringComponent.myInstance=
new EchoStringComponent(buf);
myInstance.display();
String buf1="你好,Java世界!";
EchoStringComponent.yourInstance=
new EchoStringComponent(buf1);
yourInstance.display();
}
}

编译时提示错误
HelloJavaWorldDemo.java:1: '.' expected
import EchoStringComponent;
^
1 error


这两个类文件在同一个包中
就不用导入语句import EchoStringComponent;
把那句导入语句去掉。


如果是你的类不在同一个包中
若一个类要另一类
那要用到import 包名.类名;


ok 了!


定义的类如果没有声明打包,则默认在Default Package中,访问时不需要import,你的这两个类就属于这种情况,所以不需要使用import EchoStringComponent;

假设你把类打包在一个包中,如在类EchoStringComponent最前面使用package mypackage;
就说明你告诉编译器把EchoStringComponent类放在mypackage包中,编译后实际上这个类的全名为mypackage.EchoStringComponent,在其他类使用它时,就需要告诉编译器到哪去找这个类,就需要声明import mypakage.EchoStringComponent;即HelloJavaWorldDemo类需要使用一个在mypakage包中的名叫EchoStringComponent的类

所以这个编译器提示的错误意思就是:
你让我去到包EchoStringComponent中找个类,可是这个类叫什么你又不说,耍我啊?

还有你程序中声明EchoStringComponent实例多个点


默认包(default)中的类不要使用,import EchoStringComponent;
楼主的程序去掉import EchoStringComponent;就没问题了。


入JAVA技术群1673161,在线帮你解决问题


^_^多谢各位帮助,问题已经解决了,正如weijieut() 所说的,开始我设置classpath时出现了错误,所以编译找不到EchoStringComponent这个类,还有多亏你提醒我在实例化对象时多了个点,thank you!因为开始我使用的是Default Package,出现了很多问题,以后还是要养成声明package的习惯好点,哈哈!


↑返回目录
前一篇: 如果要学structs还要先学那些???
后一篇: 关于线程自动销毁的问题