package vo;
public class User {
private int id;
private String username;
private String password;
public User(){
System.out.println("user对象创建成功");
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
TaskDaoImpl.java package dao.imp; import dao.TaskDAO; public class TaskDAOIMP implements TaskDAO { @Override public void delete(String tid) { System.out.println("删除任务"); } }
UserDaoImpl: package dao.imp; import vo.User; import dao.UserDAO; public class UserDAOIMP implements UserDAO { @Override public void insert(User user) { System.out.println("UserDAOIMP的insert(user)方法被调用"); } @Override public void test() { System.out.println("UserDAOIMP的test()方法被调用"); } }
Test.java package test; import java.lang.reflect.Proxy; import proxy.DynaProxy; import dao.TaskDAO; import dao.UserDAO; import dao.imp.TaskDAOIMP; import dao.imp.UserDAOIMP; public class Test { public static void main(String[] args) { UserDAOIMP userDAOIMP = new UserDAOIMP(); UserDAO userDAO = (UserDAO)new DynaProxy().createOject(userDAOIMP); userDAO.test(); System.out.println("*************************"); TaskDAO taskDAO = (TaskDAO)new DynaProxy().createOject(new TaskDAOIMP()); taskDAO.delete("1"); } }
UserDao.java
package dao; import vo.User; public interface UserDAO { void insert(User user); void test(); }TaskDao.java
package dao; public interface TaskDAO { void delete(String tid); }TaskDaoImpl.java package dao.imp; import dao.TaskDAO; public class TaskDAOIMP implements TaskDAO { @Override public void delete(String tid) { System.out.println("删除任务"); } }
UserDaoImpl: package dao.imp; import vo.User; import dao.UserDAO; public class UserDAOIMP implements UserDAO { @Override public void insert(User user) { System.out.println("UserDAOIMP的insert(user)方法被调用"); } @Override public void test() { System.out.println("UserDAOIMP的test()方法被调用"); } }
Test.java package test; import java.lang.reflect.Proxy; import proxy.DynaProxy; import dao.TaskDAO; import dao.UserDAO; import dao.imp.TaskDAOIMP; import dao.imp.UserDAOIMP; public class Test { public static void main(String[] args) { UserDAOIMP userDAOIMP = new UserDAOIMP(); UserDAO userDAO = (UserDAO)new DynaProxy().createOject(userDAOIMP); userDAO.test(); System.out.println("*************************"); TaskDAO taskDAO = (TaskDAO)new DynaProxy().createOject(new TaskDAOIMP()); taskDAO.delete("1"); } }