ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java – netbeans中的错误类型

2019-10-07 15:02:00  阅读:144  来源: 互联网

标签:java netbeans


我为我正在编写的java程序定义了两个类,称之为Class1和Class2.在Class1的构造函数的主体中,我调用了类2的构造函数.但是,我收到了编译错误

 "The type of Class1(JSONObject) is erroneous". 

我试过谷歌搜索这个错误,但无法在任何地方找到任何关于这个确切错误的讨论,所以我想我会把它发布到堆栈交换.

有人可以解释这是什么类型的错误? class1和class2都非常简单:两者都只有一个构造函数方法,它在两种情况下都将JSONObject作为参数.唯一的导入是针对JSON.有什么建议?

//class1 definition
public class Class1 {
       public Class1(JSONObject jObject){
           try{
           //parsing json and saving class variables
           } catch(Exception e)
           {
               System.out.println("Class1 JSON Exception: " + e.getMessage());
           }
       }
}


//constructor of Class2
Class1 user;

public Class2(JSONObject jObject){
    try{
    JSONObject userJSON = jObject.getJSONObject("user");
    user = new Class1(userJSON); //error occurrs here
    }
    catch(Exception e){
   System.out.println("Class2 JSON Exception: " + e.getMessage());

    }
}

}

编辑:当我尝试运行代码,即使有这个编译错误,我得到以下运行时错误:

Exception in thread "main" java.lang.ExceptionInInitializerError
at bitcoin.thesis.Client.main(BTCJamClient.java:18)
Caused by: java.lang.RuntimeException: Uncompilable source code - Erroneous tree type:        
thesis.JSONArray
at thesis.Class3.<clinit>(Class3.java)
... 1 more
Java Result: 1

这里的Class3是另一个具有默认构造函数的类. Client是主类,它接受http请求并将JSON对象传递给Class2构造函数.基本上,这是在Class1和Class2构造函数被调用之前代码执行的一部分.因此它不是由编译错误直接引起的,但我怀疑它们与我的编码环境更常见的相同问题有关.

谢谢,
保罗

解决方法:

我本来希望将此作为评论,但因为我没有声誉,所以我不能.我意识到这也是一个非常晚的反应,但不知道你是否找到了答案.我在谷歌搜索答案时遇到了这个问题.

我也相信这个错误与代码无关,而是由NetBeans创建的错误.我发现相同的代码编译并在一台机器上的NetBeans中运行良好,但在我第一次遇到错误的其他地方没有.

我的解决方案是关闭NetBeans,清除NetBeans缓存并重新启动NetBeans.
我使用的是8.0版,我的缓存位置是:

〜/ .cache / netbeans的/ 8.0 /

我删除了文件夹中的所有内容,并在下次运行时一切都很好.

对于旧版本,我相信缓存可能位于不同的位置,可以通过从帮助菜单打开about窗口找到.

标签:java,netbeans
来源: https://codeday.me/bug/20191007/1867531.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有