java中的类未找到异常?

时间:2015-12-01 18:24:56

标签: 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);
  }
}

在我调用方法(登录)的主页面中:

它告诉我:java.lang.ClassNotFoundException:Account

  package users;

  public class Main{

    public static void main(String argv[]) {
      employee e = new employee();
      e.login();  
    }
  }

此错误的修复方法是什么?

注意:这些类是在默认包中编写的,然后我创建包用户然后将它们移动到新包中....在将它们移动到新包中之前它们工作正常但是在移动之后发生问题。

6 个答案:

答案 0 :(得分:5)

您的帐户类未正确定义。你忘了添加变量的类型" username"和#34;密码"。应该是:

public class Account{
public String username;
public String password;
}

(更不用说公共全局变量从来都不是一个好选择(而是使用getter和setter) - 但这是一个不同的主题:))

答案 1 :(得分:3)

  

java.lang.ClassNotFoundException:Account

您的Account课程无法编辑。请更改您的帐户课程

public class Account{
public String username;
public String password;
}

<强>更新

测试了您的代码。除此之外没有其他问题。它工作正常。

答案 2 :(得分:0)

Account类将无法编译,因为usernamepassword需要对象类型。即,String

public class Account{
  public String username;
  public String password;
}

答案 3 :(得分:0)

只要这样做就可以了:

 public class Account{
   public String username;
   public String  password;
}

变量应该是一个类型

答案 4 :(得分:0)

它抛出ClassNotFoundException,因为你的Account类尚未编译。因此,尚未生成.class文件。

使编译成功Account课程如下:

public class Account{
public String username;
public String password;
}

答案 5 :(得分:0)

根据这个,

首先请记住, 在一个/单个包中,最多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... 
  }
}
  

如果你想要更多的类是一个公共修饰符,那么通过make来做   适用于所有公共课程的个人套餐。

<强> EDITED

  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

*/