一、调用DATA包出错
"Test1.java": class Test2 is public; should be declared in a file named Test2.java at line 3, column 1
错误解释:
"Test1.java": 类Test2是公共类,应该在名为Test2.java的文件中被宣告 3行1列处
解决方案:
1、修改类名或文件名,保证两者一致
//
错误提示:
"Test1.java": cannot resolve symbol: class Connection in class com.he.Test1 at line 5, column 5
错误解释:
"Test1.java": 不能识别的标志(类):在类com.he.Test1中的类Connection 5行5列处
可能原因:
1、没有引包,如java.sql.*
2、Connection类名拼写错误
//
错误提示:
"Test1.java": incompatible types;found : int,required: java.lang.String at line 6, column 16
错误解释:
"Test1.java": 数据类型矛盾;发现:int,要求:String 6行16列处
可能原因:
1、声明类型与赋值类型不一致
2、方法声明的返回类型与实际的返回类型不一致
3、所调用方法的返回类型与方法调用处的接受变量类型不一致
//
错误提示:
"Test1.java": cannot resolve symbol: variable a1 in class com.he.Test1 at line 7, column 24
错误解释:
"Test1.java": 不能识别的标志(变量):在类com.he.Test1中的变量a1 7行24列处
可能原因:
1、变量未声明
2、变量名拼写错误
3、在声明的范围之外使用变量,如{}之外
//
错误提示:
"Test1.java": cannot resolve symbol: method parserInt (java.lang.String)in class java.lang.Integer at line 9, column 21
错误解释:
"Test1.java": 不能识别的标志(方法):在类java.lang.Integer中的方法parserInt(java.lang.String) 9行21列处
可能原因:
1、方法名拼写错误
2、方法参数类型不匹配
//
错误提示:
"Test1.java": '}' expected at line 13, column 2
错误解释:
"Test1.java": 期望'}' 13行2列处
可能原因:
1、大括号不匹配
//
错误提示:
"Test1.java": unreported exception java.lang.ClassNotFoundException; must be caught or declared to be thrown at line 11, column 11
错误解释:
"Test1.java": 未报告的异常java.lang.ClassNotFoundException;必须被捕获或是被声明抛出 11行11列处
解决方案:
1、用try{}catch(){}捕获异常
2、在方法声明时用throws ...,... 声明该方法抛出异常
特别提示:
为便于程序调试时异常定位,强烈建议在进行异常捕获时打印堆栈信息( ex.printStactTrace() )
//
错误提示:
"Test1.java": non-static variable info cannot be referenced from a static context at line 17, column 24
错误解释:
"Test1.java": 非静态的变量info不能在静态上下文(环境)中引用 17行24列处
解决方案:
1、声明对象调用其静态变量
2、修改方法为非静态方法
//
错误提示:
"Test1.java": b is already defined in main(java.lang.String[]) at line 19, column 5
错误解释:
"Test1.java": (变量)b在(方法)main(java.lang.String[])中已经被定义 *行*列处
解决方案:
1、修改(变量)名称
//
错误提示:
"Test1.java": test() is already defined in com.he.Test1 at line 25, column 3
错误解释:
"Test1.java": (方法)test()在(类)com.he.Test1中已经被定义 *行*列处
解决方案:
1、修改(方法)名称
2、修改(方法)参数,即方法重载
//
错误提示:
"Test.java": Duplicate definition of class com.he.Test1, defined in D:/JavaStudy/TempPro/src/com/he/Test.java and also defined in D:/JavaStudy/TempPro/src/com/he/Test1.java.
错误解释:
"Test.java":重复定义了类com.he.Test1,在D:/JavaStudy/TempPro/src/com/he/Test.java与D:/JavaStudy/TempPro/src/com/he/Test1.java中都定义了
解决方案:
1、修改类名
特别提示:
如果修改后仍然提示该错,可以通过删除对应class文件来解决
//
错误提示:
"Test1.java": variable d might not have been initialized at line 22, column 22
错误解释:
"Test1.java":变量d可能还没有被初始化 *行*列处
可能原因:
1、在某种情况下,有可能使用没有被初始化的变量
特别提示:
[代码]
String a;
int x=1;
if(x>0) a="正数";
System.out.println(a);
[修改]
String a=null;
...
//
错误提示:
"Test1.java": unreachable statement at line 25, column 5
错误解释:
"Test1.java": 无法到达的语句 *行*列处
可能原因:
1、死循环导致其后的语句没有可能到达
2、return 语句导致其后的语句没有可能到达
特别提示:
[代码]
int a=1;
if(a>0) {return "正数";}
else {return "非正数";}
//没有可能到达
a=0;
//
错误提示:
"Test1.java": missing return statement at line 29, column 23
错误解释:
"Test1.java": (方法)缺失return语句 *行*列处
解决方案:
1、1、确保(方法)在所有可能下都有return语句,如果声明时不是void
//
错误提示:
"Test1.java": Package D:/JavaStudy/TempPro/src/com/he/Test1.java stated in source com.he1 does not match directory D:/JavaStudy/TempPro/src/com/he/Test1.java. at line 1, column 13
错误解释:
"Test1.java": 类的包声明(package ...)与类实际所处包路径不匹配 *行*列处
解决方案:
1、修改包声明,确保与类实际所处包路径一致
//
错误提示:
"Test1.java":
错误解释:
"Test1.java": 期望标志符 *行*列处
可能原因:
1、标志符不可法,如类名用数字开头
//
错误提示:
"Test1.java": call to super must be first statement in constructor at line 6, column 10
错误解释:
"Test1.java": 在构造函数中调用父类构造函数super(...)必须位于第一句 *行*列处
解决方案:
1、将语句super(...)位于第一句
//
错误提示:
"Test1.java": 'try' without 'catch' or 'finally' at line 20, column 5
错误解释:
"Test1.java": 'try'缺失'catch' 或 'finally' *行*列处
解决方案:
1、'try'必须与'catch'和'finally'两者中至少其一进行搭配使用
//
错误提示:
"Test1.java": illegal character: /65307 at line 4, column 12
错误解释:
"Test1.java": 非法字符 *行*列处
可能原因:
1、使用了中文的符号,如括号,逗号,分号,冒号等
//
错误提示:
"Test1.java": reference to Date is ambiguous; both class java.sql.Date in java.sql and class java.util.Date in java.util match at line 6, column 9
错误解释:
"Test1.java": 对(类)Date的引用不明确;包java.sql中的类java.sql.Date与包java.util中的类java.util.Date都与之相配(即两个包中都有该类) *行*列处
解决方案:
1、声明或实例化时使用类全名(即包名+类名),如 java.util.Date d = new java.util.Date();
//
错误提示:
"Test1.java": cannot resolve symbol: constructor Integer ()in class java.lang.Integer at line 6, column 17
错误解释:
"Test1.java": 不能识别的标志(构造函数):类java.lang.Integer中的构造函数Integer() *行*列处
可能原因:
1、调用构造函数时的参数与其原始定义不一致
//