在java中比较倡导接口与实现的分离,这样有利于多人协作的开发配合。
根据题主的需求,我们可以构建一个demo。代码的组织结构参见截图
UserInfo.java 代码如下
package domain;
public class UserInfo {
/**
* 用户id
*/
public String recId;
/**
* 用户名
*/
public String userName;
public String getRecId() {
return recId;
}
public void setRecId(String recId) {
this.recId = recId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
}
接口类TestService.java代码如下:
package service;
import domain.UserInfo;
public interface TestService {
/**
* 根据用户id取用户信息
*
* @param recId
* @return
*/
public UserInfo getUserInfoByID(String recId);
/**
* 修改用户信息
*
* @param userInfo
*/
public void updateUserInfo(UserInfo userInfo);
}
实现类TestServiceImpl.java 代码如下:
package serviceiml;
import domain.UserInfo;
import service.TestService;
public class TestServiceImpl implements TestService {
@Override
public UserInfo getUserInfoByID(String recId) {
// TODO 查询用户信息
return null;
}
@Override
public void updateUserInfo(UserInfo userInfo) {
// 修改用户信息
}
}
....
package com.a
public interface A{
public void methodA();
public void methodB();
}
package com.b
import com.a.A
public class B implements A{
public void methodA(){
}
public void methodB(){
}
}
IAAA.java:
package com.aaa;
public interface IAAA
{
public String getValue(String key);
public String putValue(String key, String value);
}
AAAImpl.java
package com.bbb;
import java.util.HashMap;
import com.aaa.IAAA;
public class AAAImpl implements IAAA
{
private HashMaphmValues = new HashMap ();
@Override
public String getValue(String key)
{
return hmValues.get(key);
}
@Override
public String putValue(String key, String value)
{
return hmValues.put(key, value);
}
}
package a;
public interface A{
方法1;
方法2;
}
package b;
public class B interfaceA{}