解决Java错误:The public type ... must be defined in its own file
解决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.java 和 BankAccountManagement.java 的文件中。然后编译并运行 BankAccountManagement.java 文件即可。
总结
'The public type ... must be defined in its own file' 是一个常见的Java错误,它提醒你需要将每个公共类定义在与其类名匹配的单独文件中。通过遵循这个规则,你可以避免这个错误并顺利编译你的Java代码。
原文地址: https://www.cveoy.top/t/topic/o1H 著作权归作者所有。请勿转载和采集!