[英]Class not found exception in java?
我在同一包(用戶)中有兩個類。
第一類:
package users;
public class Account{
public String username;
public String password;
}
第二類:
package users;
public class employee{
public void login() {
Account a = new Account();
a.username = "MHM";
a.password = "15234785";
System.out.println("Username: " + a.username);
System.out.println("Password: " + a.password);
}
}
在主頁上,當我調用method(login)時:
它對我說:java.lang.ClassNotFoundException:帳戶
package users;
public class Main{
public static void main(String argv[]) {
employee e = new employee();
e.login();
}
}
該錯誤的解決方法是什么?
注意:這些類是在默認程序包中編寫的,然后我創建了程序包用戶,然后將其移至新程序包中。
您的帳戶類別定義不正確。 您忘記添加變量“用戶名”和“密碼”的類型。 它可能應該是:
public class Account{
public String username;
public String password;
}
(更不用說選擇全局全局變量永遠不是一件好事(而是使用getter和setters)-但這是另外一個話題:))
java.lang.ClassNotFoundException:帳戶
您的Account
類別無法編譯。按此更改您的帳戶類別
public class Account{
public String username;
public String password;
}
更新
測試了您的代碼,除此之外沒有其他問題,可以正常工作。
由於username
和password
需要對象類型,因此無法編譯Account
類。 即String
。
public class Account{
public String username;
public String password;
}
只要這樣做就可以了:
public class Account{
public String username;
public String password;
}
變量應具有類型
拋出ClassNotFoundException
原因是尚未編譯您的Account
類。 因此,尚未生成.class
文件。
要使編譯成功的Account
類如下:
public class Account{
public String username;
public String password;
}
正如所見,
首先要記住,在一個/單個包中,最大1類應該是公共的,超過1類作為公共修飾符是不可能的。
正如我所看到的,您似乎忘記了數據類型,
使其正確如
package users;
class Account{
public String username;
public String password;
}
class employee{
public void login() {
Account a = new Account();
a.username = "MHM";
a.password = "15234785";
System.out.println("Username: " + a.username);
System.out.println("Password: " + a.password);
}
}
public class MyMainClass{
public static void main(String [] args){
// block of code...
}
}
如果您想要更多的類作為公共修飾符,則可以通過為所有公共類單獨包裝來實現。
已編輯
package users;
class Account{
public String username;
public String password;
}
class employee{
public void login() {
Account a = new Account();
a.username = "MHM";
a.password = "15234785";
System.out.println("Username: " + a.username);
System.out.println("Password: " + a.password);
}
}
public class MyMain {
public static void main(String[] args) {
employee e = new employee();
e.login();
}
}
/*
Output :
---------------
Username: MHM
Password: 15234785
*/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.