解决Java错误:The public type ... must be defined in its own file

在Java编程中,你可能会遇到错误信息 'The public type ... must be defined in its own file'。 这篇博客文章将解释这个错误的原因以及如何解决它。

错误原因

这个错误信息表明你定义了一个公共类(public class),但该类的文件名与类名不匹配,或者该公共类没有被定义在它自己的文件中。在Java中,每个公共类都必须在与其类名完全相同的文件中定义。

例如,如果你有一个名为'BankAccountManagement'的公共类,那么它必须在一个名为'BankAccountManagement.java'的文件中定义。

示例

让我们来看一个银行账户管理程序的例子,它演示了如何解决这个错误:

**BankAccount.java 文件:**javaclass BankAccount { private String accountNumber; private double balance;

public BankAccount(String accountNumber, double balance) {        this.accountNumber = accountNumber;        this.balance = balance;    }

public void deposit(double amount) {        balance += amount;        System.out.println('存款成功!');    }

public void withdraw(double amount) {        if (amount <= balance) {            balance -= amount;            System.out.println('取款成功!');        } else {            System.out.println('余额不足,无法取款!');        }    }

public void checkBalance() {        System.out.println('当前余额:' + balance);    }

public void displayAccountNumber() {        System.out.println('账号:' + accountNumber);    }}

**BankAccountManagement.java 文件:**javaimport java.util.Scanner;

public class BankAccountManagement { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); BankAccount account = new BankAccount('1234567890', 1000.0); int choice;

    do {            System.out.println('银行账号管理功能如下:');            System.out.println('1-存款;');            System.out.println('2-取款;');            System.out.println('3-查询余额;');            System.out.println('4-显示银行账号;');            System.out.println('5-退出;');            System.out.print('请输入操作编号:');            choice = scanner.nextInt();

        switch (choice) {                case 1:                    System.out.print('请输入存款金额:');                    double depositAmount = scanner.nextDouble();                    account.deposit(depositAmount);                    break;                case 2:                    System.out.print('请输入取款金额:');                    double withdrawAmount = scanner.nextDouble();                    account.withdraw(withdrawAmount);                    break;                case 3:                    account.checkBalance();                    break;                case 4:                    account.displayAccountNumber();                    break;                case 5:                    System.out.println('退出程序。');                    break;                default:                    System.out.println('无效的操作编号,请重新输入。');                    break;            }

        System.out.println();

    } while (choice != 5);

    scanner.close();    }}

请确保将 BankAccount 类和 BankAccountManagement 类分别保存在名为 BankAccount.javaBankAccountManagement.java 的文件中。然后编译并运行 BankAccountManagement.java 文件即可。

总结

'The public type ... must be defined in its own file' 是一个常见的Java错误,它提醒你需要将每个公共类定义在与其类名匹配的单独文件中。通过遵循这个规则,你可以避免这个错误并顺利编译你的Java代码。

解决Java错误:The public type ... must be defined in its own file

原文地址: https://www.cveoy.top/t/topic/o1H 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录