1、接口与回调

package edu.cqu.interfaceTest;

import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Date; import javax.swing.JOptionPane;
import javax.swing.Timer; public class TimeTest {
public static void main(String args[]) { ActionListener listener = new TimePrinter();
Timer t = new Timer(10000,listener);
t.start();
JOptionPane.showMessageDialog(null,"退出程序吗?");
System.exit(0);
}
} class TimePrinter implements ActionListener{
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
Date now = new Date();
System.out.println("现在时间时:" + now);
Toolkit.getDefaultToolkit().beep();
}
}

结果:

注释:java有函数指针的对应物--Method对象,然后使用起来却比较困难,速度也稍微慢一点,并且在编译时不能提供类型的安全性检查。因此,在任何使用C++函数指针的地方,都应该考虑使用Java中的接口。这就引出下面这个问题。

2、在SSM项目中,为什么autowired注解在接口上

// 告诉spring mvc这是一个控制器类

// 告诉spring mvc这是一个控制器类
@Controller
@RequestMapping("")
public class CategoryController {
@Autowired
CategoryService categoryService; @RequestMapping("listCategory")
public ModelAndView listCategory(){
ModelAndView mav = new ModelAndView();
List<Category> cs= categoryService.list();

@Autowired
CategoryService categoryService;

为什么在CategoryController类中 @Auto明明注解在CategoryService 这个接口上 而注入的却是CategoryServiceImpl这个实现类
因为: (自动装配实现了CategoryService接口的的实例,只有CategoryServiceImpl实现了CategoryService接口,所以就会注入CategoryServiceImpl)

这种自动装配 @Autowired 还是@Resource在装配或者注入的时候都是先是实例化后再进行的 第一步都是先实例化

这里他要实例化一个接口是不可能的 所以要找到他的实现类 实例化他的实现类
---------------------
作者:半壁江山009
来源:CSDN
原文:https://blog.csdn.net/qq_31963719/article/details/79458002
版权声明:本文为博主原创文章,转载请附上博文链接!

接口调用实现类&& 为什么Autowired定义在接口上的更多相关文章

  1. 关于在java 8中,为什么不能调用当前类正在实现的接口的静态方法的解释

    以下情况可以通过编译 Class A { static void staticMethod() { println(); } } Class B extends A { } B.staticMetho ...

  2. Java接口调用工具类

    package com.qiyuan.util; import java.io.BufferedReader; import java.io.IOException; import java.io.I ...

  3. Https接口调用工具类

    ClientUtil.java import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org. ...

  4. 短信接口调用以及ajax发送短信接口实现以及前端样式

    我们短信api用的是云信使平台提供的非免费短信服务:官网提供的demo有两种,分别是function加其调用.class文件加其调用. 在这里我们用class文件加调用: 首先,ThinkPHP里面自 ...

  5. 利用Java提供的Observer接口和Observable类实现观察者模式

    对于观察者模式,其实Java已经为我们提供了已有的接口和类.对于订阅者(Subscribe,观察者)Java为我们提供了一个接口,JDK源码如下: package java.util; public ...

  6. 类与接口(三)java中的接口与嵌套接口

    一.接口 1. 接口简介 接口: 是java的一种抽象类型,是抽象方法的集合.接口比抽象类更加抽象的抽象类型. 接口语法: [修饰符] [abstract] interface 接口名 [extend ...

  7. 基于HttpURLConnection的接口调用,支持GET&POST

    单位要做一个多级部署平台,大概意思就是一级系统可以监控下属地域的数据也可管理本地的数据.之前做短信猫用过httpClient请求,与此大同小异.封装了一个两种请求方式的工具类. package com ...

  8. [0] 关于IComparable和IComparer接口和Comparer类

    关于IComparable和IComparer接口 和 Comparer类 IComparable和ICompareframeworkr接口是.net 中比较对象的标准方式,这两个接口之间的区别如下: ...

  9. 身份证实名认证接口调用实例(PHP)

    基于php的身份证实名认证接口调用代码实例,身份证实名认证接口申请:https://www.juhe.cn/docs/api/id/103 <!--?php // +-------------- ...

随机推荐

  1. vue首页组件切换

    结构如下 代码如下: <template> <div id="page"> <div style="width: 100%" cl ...

  2. CentOS 7 利用qemu模拟ARM vexpress A9开发板

    听说qemu用于仿真arm很不错,今日就来试了一把.由于刚刚开始,了解的并不多.本文仅仅记录Qemu装载Linux kernel和busybox根文件系统的过程.后续将会深入了解仿真的其他内容. 先上 ...

  3. 洛谷 题解 CF903B 【The Modcrab】

    如果它在接下来一回合能一下就将你KO了,那么,你就十分需要回血(一直回到它一下敲不死你),否则你就一直打它就好了. #include<iostream> using namespace s ...

  4. poj2947(高斯消元法解同余方程组)

    题目链接:https://vjudge.net/problem/POJ-2065 题意:题目看着较复杂,实际上就是给了n个同余方程,解n个未知数. 思路:套高斯消元法的模板即可. AC代码: #inc ...

  5. servlet获取checkbox的值出现选中的值为on。问题所在。。。

    <form action="/Http/request06" method="post"> 用户名:<input type="tex ...

  6. Ajax方式上传文件报错"Uncaught TypeError: Illegal invocation"

    今天使用ajax上传文件时,出现了错误.数据传输的方式是通过定义formData完成的,提交的文件对象也设置为dom对象,但是还是不能发送请求.F12看到后台报了个错误:Uncaught TypeEr ...

  7. (十一)springMvc 异常处理

    文章目录 思路 自定义异常处理类 全局异常处理器 配置全局异常处理器 思路 在 springMvc 中,异常一层一层的往上抛,最后抛给 前端控制器,前端控制器内部会去找 全局异常处理器(一个系统只会有 ...

  8. 第6章:使用Python监控Linux系统

    1.Python编写的监控工具 1).多功能系统资源统计工具dstat dstat是一个用Python编写的多功能系统资源统计工具,用来取代Linux下的vmstat,iostat,netstat和i ...

  9. 【第二季】CH11_ ZYNQ软硬调试高级技巧

    [第二季]CH11_ ZYNQ软硬调试高级技巧 软件和硬件的完美结合才是SOC的优势和长处,那么开发ZYNQ就需要掌握软件和硬件开发的调试技巧,这样才能同时分析软件或者硬件的运行情况,找到问题,最终解 ...

  10. 【广搜】Knight Moves

    题目描述 Mr Somurolov, fabulous chess-gamer indeed, asserts that no one else but him can move knights fr ...