You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java终端编译运行报错:无法找到主类问题求助

解决Java终端编译运行时“无法找到主类”的问题

问题原因分析

你的代码和操作存在三个关键问题:

  • 类名不符合Java规范:主类bankmanagement首字母未大写,Java约定类名采用大驼峰命名法,虽语法允许小写,但可能导致JVM无法正确识别主类
  • 包声明未正确处理:代码顶部有package tut6;声明,但编译运行时未按包结构对应处理
  • 运行命令路径错误:直接在当前目录运行主类,未匹配包结构层级

分步解决步骤

1. 修正主类名

将主类名从bankmanagement改为Bankmanagement(首字母大写),修改后的完整代码如下:

package tut6;
abstract class Bank{
    public abstract void getbalance();
}

class BankA extends Bank{
    public void getbalance(){
        System.out.println("$100");
    }
}

class BankB extends Bank{
    public void getbalance(){
        System.out.println("$150");
    }
}

class BankC extends Bank{
    public void getbalance(){
        System.out.println("$200");
    }
}
public class Bankmanagement{
    public static void main(String[] args) {
        BankA a = new BankA();
        a.getbalance();

        BankB b = new BankB();
        b.getbalance();

        BankC c = new BankC();
        c.getbalance();
    }
}

2. 正确编译代码

假设你的Java文件名已改为Bankmanagement.java(需和主类名完全一致),在终端执行编译命令时,指定输出目录生成对应包结构:

javac -d . Bankmanagement.java

执行后当前目录会生成tut6文件夹,内部包含所有编译后的.class文件。

3. 正确运行程序

在当前目录(即tut6文件夹的上层目录)执行运行命令,使用完整的包名+类名:

java tut6.Bankmanagement

预期运行结果

执行上述步骤后,终端会输出:

$100
$150
$200

内容的提问来源于stack exchange,提问作者Abhay Shankhapal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 17:12:37