还拿上一遍中定义的GradeBook类来实现: #include <iostream> using std::cout; using std::endl; #include <string> // program uses C++ standard string class. using std::string; #include <conio.h> // GradeBook class definition class GradeBook { public: // c…
//这里找出了实现IOutputArray接口的所有类 private void FindAllClass() { var types = AppDomain.CurrentDomain.GetAssemblies() .SelectMany(a => a.GetTypes().Where(t => t.GetInterfaces().Contains(typeof(IOutputArray)))) .ToArray(); foreach (var v in types) { Console.…
相信大家在刚开始学习mybatis注解方式,或者spring+mybatis注解方式的时候,一定会有一个疑问,为什么mybatis的dao接口只需要一个接口,不需要实现类,就可以正常使用,笔者最开始的时候也会有这种疑问,当时在网上查了很多资料,也问过公司比较年长的同事,但是并没有得到答案,后来通过自己看mybatis的源码的方式才明白其中道理,接下来我就对大家分享,为什么dao接口不需要实现类的原理,这篇文章的讲解主要分为两部分: 1.mybatis注解方式是怎样通过没有实现类的dao接口进行数…
在研究OpenJDK源码过程中,我发现常用的设计方法就是2种:接口,接口-抽象类-具体实现类 . 在一些其它开源框架和业务开发中,经常存在着第3种设计,接口-具体实现类. 1.只有接口,没有实现类. 定义接口,制定标准. 在Java中,这个最典型的案例是JDBC的API的设计. Connection.Statement.PreparedStatement.CallableStatement.ResultSet等都是接口,没有任何实现方法. 这些接口就是一个标准,具体的实现,都是由数据库厂商自行实…
Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements).一些Collection允许相同的元素而另一些不行.一些能排序而另一些不行.Java SDK不提供直接继承自Collection的类,Java SDK提供的类都是继承自Collection的“子接口”如List和Set. 所有实现Collection接口的类都必须提供两个标准的构造函数:无参数的构造函数用于创建一个空的Collectio…
    今天在网上闲逛时看到了这样一个言论,说“Java的Stack类实现List接口的设计是个笑话”.   当然作者这篇文章的重点不是这个,原本我也只是一笑置之,然而看评论里居然还有人附和,说“Java那种Stack的设计作为笑话,差不多可以算公案了”,我就有点不淡定了,为什么.什么时候“作为笑话”的并且“差不多可以算公案”了呢?   因此我决定写一篇文章来谈谈这个问题.   Java中Stack类的声明   首先我们来看看Java中Stack类的声明:   public class Stac…
什么是Queue集合: Queue用于模拟队列这种数据结构,队列通常是"先进先出"(FIFO)的容器.队列的头部保存在队列中存放时间最长的元素,尾部保存存放时间最短的元素.    Queue接口定义了如下几个方法: void add(Object e):将制定的元素加入队列的尾部 Object element(): 获取队列的头部元素,但不要删除改元素 boolean offer(Object e): 将制定元素加入此队列的尾部.当使用有容量限制的队列的时候,该方法比add方法更好 O…
在Spring相关应用中,我们经常使用“接口” + “实现类” 的形式,为了方便,使用Eclipse自动生成Junit测试类. 1. 类名-new-Other-java-Junit-Junit Test Case 2. 修改相关类名,包名,路径,一路next 根据实现类自动抽取出接口. 1. 在serviceImpl代码的空白上右键,或者在其类名上右键-Refactor-Extract Interface 2. 在哪Interface name中输入接口名,将方法勾选上,点击ok…
FilenameFilter和FileFilter都是用来过滤文件,例如过滤,以.jpg或者.java结尾的文件,通过看他们的源码:通过使用File类中String[] list(FilenameFilter filter)或者public File[] listFiles(FileFilter filter)方法,把FilenameFilter或者FileFilter接口对象作为参数传入,通过实现接口里面的 boolean accept(File dir, String name) 或者boo…
java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类? Java中的流分为两种,一种是字节流,另一种是字符流,分别由四个抽象类来表示(每种流包括输入和输出两种所以一共四个):InputStream,OutputStream,Reader,Writer.Java中其他多种多样变化的流均是由它们派生出来的. 字符流和字节流是根据处理数据的不同来区分的.字节流按照8位传输,字节流是最基本的,所有文件的储存是都是字节(byte)的储存,在磁盘上保留的并不是文件的…