一个接口Test可以被new吗?new完就可以直接使用Test中的方法了吗(其实Test中的方法在TestIMP中实现)?
2016-08-24 17:55
555 查看
如Test是一个接口
import java.util.List;
import com.org.test.User;
public interface Test{
public List<User> findAll();
public User findById(int id);
public String update(User a);
}
TestIMP是Test接口的实现
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
import com.org.dao.UserDAO;
import com.org.model.User;
import com.org.test.Test;
public class TestIMP implements Test{
private UserDAO userDAO;
public UserDAO getUserDAO(){
return userDAO;
}
public void setUserDAO(UserDAO userDAO){
this.userDAO = userDAO;
}
public List<User> findAll(){
return userDAO.findAll();
}
public User findById(int id){
return userDAO.findById(id);
}
public String update(User a){
try{
userDAO.attachDirty(a);
return "true";
}
catch(Exception e){
return "false";
}
}
}
如果执行如下,对Test类进行new:
Test aa=new TestIMP();
aa.findById(12);//就可以获取id为12的用户
===============典型的例子Map和HashMap============
还有一个典型的例子,即Map的初始话
Map a=new HashMap();
其中Map是个接口类,HashMap就是Map接口的一个实现类。
import java.util.List;
import com.org.test.User;
public interface Test{
public List<User> findAll();
public User findById(int id);
public String update(User a);
}
TestIMP是Test接口的实现
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
import com.org.dao.UserDAO;
import com.org.model.User;
import com.org.test.Test;
public class TestIMP implements Test{
private UserDAO userDAO;
public UserDAO getUserDAO(){
return userDAO;
}
public void setUserDAO(UserDAO userDAO){
this.userDAO = userDAO;
}
public List<User> findAll(){
return userDAO.findAll();
}
public User findById(int id){
return userDAO.findById(id);
}
public String update(User a){
try{
userDAO.attachDirty(a);
return "true";
}
catch(Exception e){
return "false";
}
}
}
如果执行如下,对Test类进行new:
Test aa=new TestIMP();
aa.findById(12);//就可以获取id为12的用户
===============典型的例子Map和HashMap============
还有一个典型的例子,即Map的初始话
Map a=new HashMap();
其中Map是个接口类,HashMap就是Map接口的一个实现类。
相关文章推荐
- 简单完整的代码,通过这个代码你将对RSA加密算法在Java中的实现方法有一个初步的了解,这个类,你可以直接使用,水平高的,就自己修改完善下代码。
- java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用
- 一个可以直接使用的可用iptables配置的stateless NAT实现
- 抽象类实现一个接口为什么可以不用都实现接口中的方法
- 一个类实现一个接口,可以重写接口中方法的参数类型吗?
- implementors一个eclipse面向接口编程的非常有用的插件:可以直接跳到接口的实现代码
- Struts2中通过实现Aware接口解耦servlet API,可以多个方法共享一个application,session,request,parameter对象
- 利用运行时,给UIImageView写一个分类,交换里面的setImage的方法,可以重绘图片,提高内存的利用率(要是没有重绘图片,直接使用系统提供的setImag就会造成占用大量的内存问题)
- java中有几种方法可以实现一个线程?用什么关键字修饰同步方法 stop()和suspend()方法为何不推荐使用?
- 【Java面试题】23 java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用?
- 细聊分布式ID生成方法的实现(一个可以使用10年的序列生成器)
- 一个类可以实现多个有相同方法的接口
- 匿名内部类到底可不可以继承类或实现接口? Interface A{ public void method(); } 这时你可以写一个如下的语句得到接口A的实现类的对象 A a=new
- 五星-原型模式常使用于以下场景--而JAVA中的任何类只要实现了Cloneable标识接口,就可以使用clone方法来进行对象的拷贝
- 写一个system.data.entity的simpledatarepo,实现crudq这些功能,不需要引入entityframework,直接可以使用,用到objectset
- java基础问题---java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用
- XHTML 的一个实例, 其实这个实例的方法已经可以实现所有要实现的布局. by Emerald 绿色学院 - Green Institute
- Java 有几程方法可以实现一个线程?用什么关键字修饰同步?stop()和suspend()为什么不推荐使用?
- Jmeter使用_time函数实现同一个接口参数传入可以每次传入不同的参数
- android中引用方法的时候,有时候要new一个对象才能引用,有时候直接.方法就可以了,为什么