Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 抽象方法中的运行时错误_Java_Javafx - Fatal编程技术网

Java 抽象方法中的运行时错误

Java 抽象方法中的运行时错误,java,javafx,Java,Javafx,我制作了一个接口,然后实现了它。接口存在于我的第一个项目中。当我将第一个项目添加到另一个第二个项目时,效果很好。如果我在第一个项目中修改该接口并再次实现它,然后运行第二个项目,它会抛出一个抽象方法错误 如何解决这个问题 我的第一个项目界面如下所述 public interface LoginController extends Remote { public boolean searchRequirements(String userName,String password)throws

我制作了一个接口,然后实现了它。接口存在于我的第一个项目中。当我将第一个项目添加到另一个第二个项目时,效果很好。如果我在第一个项目中修改该接口并再次实现它,然后运行第二个项目,它会抛出一个抽象方法错误

如何解决这个问题

我的第一个项目界面如下所述

public interface LoginController extends Remote
{
    public boolean searchRequirements(String userName,String password)throws RemoteException,SQLException,ClassNotFoundException;

    public int getClientId(String userName,String password)throws RemoteException,SQLException,ClassNotFoundException;

    public boolean addNewLogin(String userName,String password,int client_id)throws RemoteException,SQLException,ClassNotFoundException;

    public ArrayList<String> getAllLogins()throws RemoteException,SQLException,ClassNotFoundException;
}
公共接口登录控制器扩展远程
{
公共布尔搜索要求(字符串用户名、字符串密码)抛出RemoteException、SQLException、ClassNotFoundException;
public int getClientId(字符串用户名、字符串密码)抛出RemoteException、SQLException、ClassNotFoundException;
public boolean addNewLogin(字符串用户名、字符串密码、int client_id)抛出RemoteException、SQLException、ClassNotFoundException;
public ArrayList getAllLogins()抛出RemoteException、SQLException、ClassNotFoundException;
}
这是我的实现类

public class LoginControllerImpl extends UnicastRemoteObject implements LoginController{

private static final LoginDBAccess LOGIN_DBACCESS=new LoginDBAccess();

public LoginControllerImpl()throws RemoteException{

}

@Override
public boolean searchRequirements(String userName, String password) throws RemoteException, SQLException, ClassNotFoundException {

    return LOGIN_DBACCESS.searchRequirements(userName, password);
}

@Override
public int getClientId(String userName, String password) throws RemoteException, SQLException, ClassNotFoundException {

    return LOGIN_DBACCESS.getClientId(userName, password);
}

@Override
public boolean addNewLogin(String userName, String password, int client_id) throws RemoteException, SQLException, ClassNotFoundException {

    return LOGIN_DBACCESS.addNewLogin(userName, password, client_id);
}

@Override
public ArrayList<String> getAllLogins()throws RemoteException,SQLException,ClassNotFoundException{

    return LOGIN_DBACCESS.getAllLogins();
}
公共类LoginControllerImpl扩展UnicastRemoteObject实现LoginController{
private static final LoginDBAccess LOGIN_DBACCESS=new LoginDBAccess();
公共LoginControllerImpl()引发RemoteException{
}
@凌驾
公共布尔搜索要求(字符串用户名、字符串密码)引发RemoteException、SQLException、ClassNotFoundException{
返回登录\u DBACCESS.searchRequirements(用户名、密码);
}
@凌驾
public int getClientId(字符串用户名、字符串密码)引发RemoteException、SQLException、ClassNotFoundException{
返回LOGIN\u DBACCESS.getClientId(用户名、密码);
}
@凌驾
public boolean addNewLogin(字符串用户名、字符串密码、int client_id)引发RemoteException、SQLException、ClassNotFoundException{
返回LOGIN\u DBACCESS.addNewLogin(用户名、密码、客户端id);
}
@凌驾
public ArrayList getAllLogins()引发RemoteException、SQLException、ClassNotFoundException{
返回LOGIN_DBACCESS.getAllLogins();
}

}

来自以下java文档:

当应用程序尝试调用抽象方法时引发。通常,编译器会捕获此错误;仅当自上次编译当前执行的方法以来,某个类的定义发生了不兼容的更改时,才会在运行时发生此错误

您可能的情况是,正如文档所述,您的类在运行时一定发生了更改。这也意味着你还没有实现你试图调用的方法;它仍然是抽象的。尝试定义您正在使用的任何类的方法


具体到您的情况,类
LoginControllerImpl
getAllLogins()
似乎没有实现。尝试实现它。

来自以下java文档:

当应用程序尝试调用抽象方法时引发。通常,编译器会捕获此错误;仅当自上次编译当前执行的方法以来,某个类的定义发生了不兼容的更改时,才会在运行时发生此错误

您可能的情况是,正如文档所述,您的类在运行时一定发生了更改。这也意味着你还没有实现你试图调用的方法;它仍然是抽象的。尝试定义您正在使用的任何类的方法


具体到您的情况,类
LoginControllerImpl
getAllLogins()
似乎没有实现。尝试实现它。

您能说说更改是如何完成的以及如何调用此方法吗?您能说说更改是如何完成的以及如何调用此方法吗?谢谢!但是我实现了它。它还不能工作。我将显示实现的类look,看看
LoginDBAccess
中是否定义了
getAllLogins()
。这是另一种选择。如果答案有助于回答您的问题,请随意接受。谢谢!但是我实现了它。它还不能工作。我将显示实现的类look,看看
LoginDBAccess
中是否定义了
getAllLogins()
。这是另一种选择。如果答案有助于回答您的问题,请随意接受。