接口不实现方法,但我却在程序中可以调用接口的方法,这是为什么?
如果我两个类都实现了接口的save方法,但执行的内容不一样,我在调用接口的方法时会怎么处理?
如果我两个类都实现了接口的save方法,但执行的内容不一样,我在调用接口的方法时会怎么处理?
解决方案 »
- ssh框架中的struts上传文件出问题,我写了一个struts2上传文件的例子,出现了一个很奇怪的问题,提交表单以后,页面直接跳转到result="input
- spring aop execution(* duke.perform(..))
- 在线求解?各位大侠帮帮忙!!
- SSH框架+Ext技术做前台显示的客户关系管理系统
- 关于数据库的问题
- 请问axis+tomcat + eclipse例子中写的java程序为什么没有 main()?
- hibernate 不能开始事务!什么问题啊?
- 在jbx下面怎么配置oracle9i的jdbc驱动程序?
- 求购关于struts实例
- Spring3,Hibernate4使用Annotation实体映射数据库问题
- Hibernate 怎么报这样的错?
- 求教服务器问题
接口是不能实例化的,也就是说没有提供接口的方法是无法访问到接口的方法的。不同的类可以实现同一个接口。如果我两个类都实现了接口的save方法,但执行的内容不一样,我在调用接口的方法时会怎么处理?
如: IA a = new AI(); a.say(); //调用的是AI的say方法
IB b = new BI(); b.say(); //调用的是BI的say方法
实现类(发布命令的类)是spring自己的类。
当然他也会让你有自己的接口啥的
如此如此
//接口A
public interface A {
public void save();}
实现类B和C
//B类
public class B implements A{ public void save() { System.out.println("在这里面定义B自己的业务逻辑!");
}}
//C类
public class C implements A{ public void save() {
System.out.println("在这里面定义C自己的业务逻辑!");
}}
//测试类TestBC
public class TestBC {
public static void main(String args[]) {
A a1=new B();
a1.save();
A a2=new C();
a2.save();
}}
//打印输出:
在这里面定义B自己的业务逻辑!
在这里面定义C自己的业务逻辑!
里面涉及了面向对象思想里面的面向接口编程的思想!!呵呵!!
public void fun();
}Class B implements A {
public void fun(){ System.out.println("B");
}Class C implements A {
public void fun(){ System.out.println("B");
}A b = new B();
A c = new C();父类引用指向子类实现。