美文网首页
那为何要使用匿名内部类

那为何要使用匿名内部类

作者: fd32e41da0cf | 来源:发表于2021-03-10 11:42 被阅读0次

那为何要使用匿名内部类

Think in java上说:使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响。

它能够非常好的解决多重继承的问题,在我们程序设计中有时候会存在一些使用接口很难解决的问题,这个时候我们可以利用内部类提供的、可以继承多个具体的或者抽象的类的能力来解决这些程序设计问题。

可以这样说,接口只是解决了部分问题,而内部类使得多重继承的解决方案变得更加完整。

ObjectFactory

它的作用就是创建一个类

protected ObjectFactory objectFactory = new DefaultObjectFactory();
public interfaceObjectFactory{
  /**
  * 设置一些额外的属性 通过在mybatis-config.xml中objectFactory中properties属性标签设置 , 在初始化mybatis是就会触发这个方法
  */  
void setProperties(Properties properties);

  /**  
  * 已默认的构造函数(无参构造)实例化对象  
  * @return
  */  
<T> Tcreate(Class<T> type);

  /**  
* 指定的构造函数实例化对象  
*@paramtype Object type  *@paramconstructorArgTypes Constructor argument types  
*@paramconstructorArgs Constructor argument values  
*@return
*/  
<T> Tcreate(Class<T> type, List<Class<?>> constructorArgTypes, List<Object> constructorArgs);

  /**  
* 判断是否是集合类型。只要能存储其他元素的都叫做集合  
* 内部通过isAssignableFrom判断是否继承值Collection类  
*@paramtype Object type  
*@returnwhether it is a collection or not  *@since3.1.0  
*/  
<T> boolean isCollection(Class<T> type);
}

使用的例子

比如在学校系统中,我们学生除了有基础信息,我们还想临时添加一个成绩的属性用来表示最近一次成绩总分。这个时候我们就可以通过自定义ObjectFactory来实现了。

在创建好对象后在去查询数据进行填充。

相关文章

  • 详解匿名内部类【Java提高九】

    在这篇博客中你可以了解到匿名内部类的使用、匿名内部类要注意的事项、如何初始化匿名内部类、匿名内部类使用的形参为何要...

  • 那为何要使用匿名内部类

    那为何要使用匿名内部类 Think in java上说:使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(...

  • java中的匿名内部类总结

    匿名内部类也就是没有名字的内部类 正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写 但使用匿名内...

  • 技术问 - 匿名内部类

    匿名内部类 匿名内部类的格式 匿名内部类的本质是什么? 代码: 匿名内部类在开发中使用: 看结果写代码

  • Kotlin-Object关键字作用

    Object关键字使用场景:匿名内部类、单例、伴生对象。 匿名内部类 Kotlin匿名内部类定义使用跟Java类似...

  • 用于匿名内部类的泛型

    匿名内部类 泛型还可以使用于内部类和匿名内部类。 上面的Customer和Teller都通过使用匿名内部类实现了G...

  • Java匿名类

    实例1:不使用匿名内部类来实现抽象方法 实例2:匿名内部类的基本实现 实例3:在接口上使用匿名内部类

  • Android菜鸟起飞|三种方法实现监听事件

    Android实现监听事件的三种方式(匿名内部内实现,外部类实现,接口实现)详解 1. 使用匿名内部类的方式实现监...

  • 内部类

    成员内部类 局部内部类(定义在方法内和定义在作用域内的类) 匿名内部类

  • Java--内部类的分类-3(匿名内部类)

    匿名内部类  匿名内部类适合那种只需要使用一次的类。比如:键盘监听操作等等。 语法: 【示例】匿名内部类的使用 注...

网友评论

      本文标题:那为何要使用匿名内部类

      本文链接:https://www.haomeiwen.com/subject/mzhwqltx.html