java extends/interface/implement三者的联系与区别

81 2019-10-20 14:38

extends 顾名思义是继承,继承一个父类的所有功能。

interface 是接口的意思,在其中定义某些虚函数,但没有具体实现。

implement 是执行实现的意思,在继承了接口定义的虚函数并实现。

public class LoginAction extends ActionSupport {  
    @Override  
    public String execute() throws Exception {  
        if(loginService.isLogin(userName, password))  
            return SUCCESS;  
        else  
            return INPUT;  
    }  
}

LoginAction继承了ActionSupport类中的execute()方法。并具体实现了该函数。当然,还可以在LoginAction类中添加自己想要的方法。

public interface LoginService {  
    boolean isLogin(String userName,String password);  
}

在接口类LoginService类中定义了一个isLogin虚函数。

public class LoginServiceImpl implements LoginService {  

    public boolean isLogin(String userName, String password) {  
        if("hello".equals(userName) && "world".equals(password))  
            return true;  
        else   
            return false;  
    }  
}

LoginServiceImpl类具体实现了LoginService类中定义的isLogin()方法,而且必须是public类型的。
当然那现在又会有个疑问,implements和extends的区别是java中不能多继承,但是可以实现多个接口。