错误:在编译具有多个类的 .Java 文件后使用 Java 命令时无法找到或加载主类

我尝试在编译 .java 文件后运行 java 命令,.java 文件包含多个类,但只有一个公共类,公共类中只有一个主要方法。当所有 .class 文件都在同一个地方时,它找不到主类。在 netbeans 上它运行完美,在 CMD 上是出现错误的地方。如果我在写作中有任何错误,也很抱歉,英语不是我的主要语言,它是西班牙语。这也是类和变量名称使用西班牙语的原因。


我已经检查过该类只有一个主要方法,所有类都在同一个地方,.java 文件中只有一个公共类


这就是代码,正如您所见,只有一个公共课程,而 main 在公共课程中。


    package dfutreras_arqapp_aa19_2b;

   public class Dfutreras_ArqApp_AA19_2B {


    public static void main(String[] args) {

        // TODO code application logic here

        Constructora constructora = new Constructora();

        ConstruyeCasas constructor_SencillaCasa = new ConstruyeCasasSencillas();

        ConstruyeCasas constructor_FamiliarCasa = new ConstruyeCasasFamiliares();


        constructora.setConstruyeCasas(constructor_SencillaCasa);

        constructora.construirCasa();


        Casa casa =  constructora.getCasa();

        System.out.println("Se ha construido una casa " + casa.getTipo());

        System.out.println("Con " + casa.getHabitaciones()+ " habitaciones");

        System.out.println("Con " + casa.getBanos()+ " baños");

        System.out.println("Con " + casa.getVentanas()+ " ventanas");

        System.out.println();

        constructora.setConstruyeCasas(constructor_FamiliarCasa);

        constructora.construirCasa();


        Casa casa2 =  constructora.getCasa();

        System.out.println("Se ha construido una casa " + casa2.getTipo());

        System.out.println("Con " + casa2.getHabitaciones()+ " habitaciones");

        System.out.println("Con " + casa2.getBanos()+ " baños");

        System.out.println("Con " + casa2.getVentanas()+ " ventanas");


    }



    }

//产品类


`class Casa{`


    private Integer habitaciones;

    private Integer banos;

    private Integer ventanas;

    private String tipo;


    public void setHabitaciones(Integer habitaciones){

        this.habitaciones = habitaciones;

    }    


    public void setBanos(Integer banos){

        this.banos = banos;

    }



海绵宝宝撒
浏览 71回答 2
2回答

翻翻过去那场雪

您的班级声明为:package dfutreras_arqapp_aa19_2b; public class Dfutreras_ArqApp_AA19_2B {这意味着它在包中dfutreras_arqapp_aa19_2b,因此: - 运行时必须提供整个包名称,并且 - 当前目录必须位于根(顶级)目录中。将这些放在一起意味着要运行该类,请转到 src 目录:C:\Users\hecto_000\Documents\NetBeansProjects\Dfutreras_ArqApp_AA19_2B\src并运行命令:java dfutreras_arqapp_aa19_2b.Dfutreras_ArqApp_AA19_2B要从当前目录运行该类,请package dfutreras_arqapp_aa19_2b从 .java 文件中删除该行,这意味着该类位于“默认”包中。巧合的是,还值得一提的是,Java 命名标准是类名应该是“CamelCase”(所以没有下划线)

犯罪嫌疑人X

include (package dfutreras_arqapp_aa19_2b;) package 在你所有的类中,然后试一试。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java