常见面试题二——你对内部类是怎样理解的?

问题:你对内部类是怎样理解的?

回答:

内部类是一种比较特殊的类,它定义在另外一个类的内部,在外部类当中可以生成内部类的对象,并调用其成员。内部类最常见的使用方法是使用匿名内部类。

第一种使用方法是在模板回调模式当中,使用匿名内部类来作为回调接口的实现。在SpringJDBC模块和Hibernate模块当中,都提供了模板类。以JDBC为例,Spring提供了一个JDBCTemplate作为模板,还提供了一系列的回调接口。在模板当中,主要提供的是JDBC访问数据库的基本流程,将SQL语句和对结果集的处理设置的回调接口当中。在使用该模板时,就可以使用匿名内部类来实现。

第二种使用方法是使用匿名内部类来实现多线程。如果不希望在一个类的外部来产生一个该类的线程,就可以再该类当中定义一个匿名内部类,实现Runnablle接口,或者是继承Thread类。因为匿名内部类没有名字,并且可以将其权限设置为private,所以说不可能在别的地方生成匿名内部类的对象。这样就可以很好的隐藏调用线程的run()函数。

总体来说最常用的内部类是匿名内部类。这种用法是专门供特定问题用的,一次性的类。好处是它能把解决某个问题的代码全都集中到一个地方。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值