jjzjj

java - 为什么必须将main方法声明为public...为什么JVM不能执行private main方法

通常我在各种书籍中发现main方法应该是公共(public)的,因为它应该对类加载器可见。但是JVM执行(或提供特殊处理)各种私有(private)方法,例如ObjectOutputStream中的readObject/writeObject方法。 最佳答案 很明显,您的程序的入口点应该是可见的。 关于java-为什么必须将main方法声明为public...为什么JVM不能执行privatemain方法,我们在StackOverflow上找到一个类似的问题:

java - 为什么我通过反射调用 main 时参数个数错误?

我有一个类对象,我想调用一个静态方法。我有以下代码。Methodm=cls.getMethod("main",String[].class);System.out.println(m.getParameterTypes().length);System.out.println(Arrays.toString(m.getParameterTypes()));System.out.println(m.getName());m.invoke(null,newString[]{});这打印:1[class[Ljava.lang.String;]main但随后它抛出:IllegalArgumen

java - 突出显示 JTable 的列标题

我目前正在构建一个小JTable,并希望在选择一个单元格时突出显示列标题(和行标题-行标题部分实际上正在工作)以便更容易找到与该单元格相关联的名称.这是一张图片:我已经尝试用这个关闭标题的渲染器:table.getTableHeader().setDefaultRenderer(newColumnHeaderRenderer());但它只在我点击标题时被调用,并且总是说isSelected是错误的。这是我用于行名的代码,包括渲染器中的高亮部分-代码不是我写的,我只是稍微修改了一下:/**UseaJTableasarendererforrownumbersofagivenmaintabl

java - 线程 "main"java.lang.NoClassDefFoundError : org/apache/commons/codec/DecoderException 中的异常

我尝试通过Solrj查询Solr这是我的代码publicclassReadFromSolr{publicstaticvoidmain(String[]args)throwsMalformedURLException,SolrServerException{Stringurl="http://localhost:8983/solr";try{SolrServerserver=newCommonsHttpSolrServer(url);ModifiableSolrParamsparams=newModifiableSolrParams();params.set("qt","/select"

java - 从哪里调用 public static void main ?

我只是想知道我们的主要方法实际上是从哪里调用的。就像在eclipse中一样,当我们将它作为应用程序运行时,它会自动被调用。但是,如果我编写另一个具有相同签名但名称不同的方法,则它不会被调用 最佳答案 来自Java虚拟机的文档:DESCRIPTIONThejavatoollaunchesaJavaapplication.ItdoesthisbystartingaJavaruntimeenvironment,loadingaspecifiedclass,andinvokingthatclass'smainmethod.Themethod

java - 如何修复未注释的主要方法?

我一直在通过谷歌寻找这个问题,但事实证明我找不到解决这个问题的方法。实际上我有一个经典的main方法,我在其中运行一个作业,但是sonarqube一直重复我发现一个未注释的main方法。代码如下:/***Main:RunMapReducejob**@paramargs*arguments*/publicstaticvoidmain(String[]args){ExitManagerexitManager=newExitManager();//runjobif(!runJob(args)){exitManager.exit(1);}}我在这里没有看到任何特别的问题,那么这个问题是从哪里来

java - 在 gradle 的 eclipse 构建中拆分 main 和 test

今天我尝试将一个带有集成测试的项目从maven切换到gradle。一切正常,除了我在testng上遇到严重问题。该项目使用hibernate/JPA2进行数据库访问,并有几个依赖于test/resources/META-INF/persistence.xml中的持久性单元的测试。当我使用gradle运行测试套件时,一切正常。但是当我从eclipse运行xml(或任何测试类本身)时,它似乎试图使用main/resources/META-INF/persistence.xml。因为我的大部分工作都使用TDD,所以我确实需要从eclipse运行/调试测试。当我将持久性单元添加到生产persi

java - 如何修复线程 "main"java.util.ConcurrentModificationException 中的异常

这个问题在这里已经有了答案:CananyoneexplainmeoverConcurrentModificationException?(1个回答)关闭9年前。我有2HashMap对象名称是positiveCoOrdinateandnegativeCoOrdinates.我正在检查PositiveCoOrdinates条件如下,满足则对应点加入negativeCoOrdinates并从positiveCoOrdinates中删除.HashMappositiveCoOrdinates=duelList.get(1);HashMapnegativecoOrdinates=duelList.

java - 如何从静态 main() 方法调用内部类的方法

尝试在父类中创建1个接口(interface)和2个具体类。这将使封闭类成为内部类。publicclassTest2{interfaceA{publicvoidcall();}classBimplementsA{publicvoidcall(){System.out.println("insideclassB");}}classCextendsBimplementsA{publicvoidcall(){super.call();}}publicstaticvoidmain(String[]args){Aa=newC();a.call();}}现在我不太确定如何在静态main()方法中创

java - "Error: Could not find or load main class My.class"

我在Windows7上通过cmd.exe使用JavaSDK1.7。直到几个小时前一切都正常工作,突然我无法运行我编译的类文件,标题中始终显示错误。我似乎能够编译我的My.java文件,但是我无法运行生成的类文件(My.class)。我经常收到错误“错误:无法找到或加载主类My.class”。我已经用多个其他类文件尝试过这个,所有这些都导致了同样的问题。如果您想知道的话,我的“路径”环境变量设置为“C:\ProgramFiles(x86)\Java\jdk1.7.0_05\bin”我试过重新安装、创建和设置类路径变量(运气不好),甚至直接使用java-cp。我的.class命令。我试过这