首页 / JAVA / Java中的内部类(回调)
Java中的内部类(回调)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java中的内部类(回调),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3180字,纯文字阅读大概需要5分钟。
内容图文
![Java中的内部类(回调)](/upload/InfoBanner/zyjiaocheng/849/b7432f81dffc4aac855095ea4e153f14.jpg)
一、内部类的主要作用如下:
1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类
2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据
3. 内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便。
二、内部类可分为以下几种:
- 成员内部类
- 静态内部类
- 方法内部类
- 匿名内部类。
三、1,定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去 new 一个内部类对象,即:内部类 对象名 = 外部类对象.new 内部类( );
2,外部类是不能直接使用内部类的成员和方法滴,可先创建内部类的对象,然后通过内部类的对象来访问其成员变量和方法。
3,可先创建内部类的对象,然后通过内部类的对象来访问其成员变量和方法。HelloWorld.this.name
四、Java回调
回调用于层间协作,例如作为一个驱动,是一个底层,他在收到一个数据时,除了完成本层的处理工作外,还将进行回调,将这个数据交给上层应用层来做进一步处理,这在分层的数据通信中很普遍。
其实回调和API非常接近,他们的共性都是跨层调用的函数。但区别是API是低层提供给高层的调用,一般这个函数对高层都是已知的;而回调正好相反,他是高层提供给底层的调用,对于低层他是未知的,必须由高层进行安装,这个安装函数其实就是一个低层提供的API,安装后低层不知道这个回调的名字,但它通过一个函数指针来保存这个回调,在需要调用时,只需引用这个函数指针和相关的参数指针。
其实:回调就是该函数写在高层,低层通过一个函数指针保存这个函数,在某个事件的触发下,低层通过该函数指针调用高层那个函数。
关于回调的总结:
在Java中,通常就是编写另外一个类或类库的人规定一个接口,然后你来实现这个接口,然后把这个接口的一个对象作为参数传给别人的程序,别人的程序必要时就会通过那个接口来调用你编写的函数。
下面这个程序会很好的表示回调执行的过程:
public interface CallBack { //执行回调操作的方法 void execute(); }
1 public class Tools { 2 3 /** 4 * 测试函数使用时间,通过定义CallBack接口的execute方法 5 * @param callBack 6 */ 7 public void testTime(CallBack callBack) { 8 long begin = System.currentTimeMillis();//测试起始时间 9 callBack.execute();//进行回调操作 10 long end = System.currentTimeMillis();//测试结束时间 11 System.out.println("[use time]:" + (end - begin));//打印使用时间 12 } 13 14 public static void main(String[] args) { 15 Tools tool = new Tools(); 16 tool.testTime(new CallBack(){ 17 //定义execute方法 18 public void execute(){ 19 //这里可以加放一个或多个要测试运行时间的方法 20 TestObject.testMethod(); 21 } 22 }); 23 } 24 25 }
匿名内部类最常用的情况就是在回调当中的精彩表现。 回调是一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口.
分类: java web开发 好文要顶 关注我 收藏该文 high_grade
关注 - 0
粉丝 - 0 +加关注 0 0 ? 上一篇:android ndk开发
? 下一篇:@RequestMapping用法详解
<div class="postDesc">posted on <span id="post-date">2016-09-06 11:24</span> <a href="https://www.cnblogs.com/java-xu/">high_grade</a> 阅读(<span id="post_view_count">1275</span>) 评论(<span id="post_comment_count">0</span>) <a href="https://i.cnblogs.com/EditPosts.aspx?postid=5416567" rel="nofollow">编辑</a> <a href="#" onclick="AddToWz(5416567);return false;">收藏</a></div>
内容总结
以上是互联网集市为您收集整理的Java中的内部类(回调)全部内容,希望文章能够帮你解决Java中的内部类(回调)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。