java匿名内部类runnable_java匿名内部类用法总结实例源码

java匿名内部类用法总结实例源码。当需要extends一个类,或implements一个接口的时候,可以直接new一个这个类或接口的对象出来,然后在后面加{},里面写你准备写在子类里面的所有东西。

这样,new出来的这个对象就拥有了这个{}里面的所有东西。

举个例子说,假如你需要写

class A1 extends A{

public void fun(){

System.out.println(“A1-fun”);

}

}

然后

A1 a1 = new A1();

a1.fun();

这样就会调用到子类里面的方法。

这是一般写法。你还可以这样写:

A a = new A(){

public void fun(){

System.out.println(“A-son-fun”);

}

};

a.fun();

这是同样的效果。这就是匿名内部类最常用的用法。

比较常见的还有实现接口的时候,如果线程。

class T1 implements Runnable{

@Override

public void run() {

System.out.println(“t2 start..”);

}

}

Thread t = new Thread(new T1());

t.start();

这也是常见用法。除此之外,还可以这样写:

Thread t1 = new Thread(new Runnable(){

@Override

public void run() {

System.out.println(“t1 start..”);

}

});

t1.start();

效果也是一样的。

甚至是这样写:

new Thread(new Runnable(){

@Override

public void run() {

System.out.println(“t1 start..”);

}

}).start();

这个是不是很眼熟啊?

总结,需要写一个类,继承或实现一个类或接口,我们可以直接new一个这个类或接口的对象出来,在尾巴上加一个{},把原先准备写在子类里面的东西全写进去,

这样,new出来的这个对象就有了子类的所有内容,相当于写了个子类然后new了一个子类的对象。

下面,有一个比较完整的例子:

package wzq.j2se.claz;

public class NimingLei {

public static void main(String[] args) {

Thread t1 = new Thread(new Runnable(){

@Override

public void run() {

System.out.println(“t1 start..”);

}

});

Thread t2 = new Thread(){

@Override

public void run() {

System.out.println(“t2 start..”);

}

};

t1.start();

t2.start();

//注意看下面这两种用法,效果是一样的,这儿是重点了!

NimingLeiA n = new NimingLeiA(){

public void fun(){

System.out.println(“bbbbbNimingLeiA-fun”);

}

};

n.fun();

NimingLeiA a = new A();

a.fun();

}

}

class NimingLeiA{

public void fun(){

System.out.println(“NimingLeiA-fun”);

}

}

class A extends NimingLeiA{

public void fun(){

System.out.println(“aaaaaaNimingLeiA-fun”);

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/305276.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

6段Python代码刻画深度学习历史:从最小二乘法到深度神经网络

最小二乘法深度学习的一切都起源于这个数学片段(我把它用Python 写了出来):这一方法是 1805 年巴黎数学家阿德利昂玛利埃勒让德首次提出的(1805,Legendre),勒让德建立了许多重要的定理&#xff…

win7美化_Potplayer64位美化版,无棒子的tv推送

potplayer 64位是一款视频播放器,potplayer 64位目前正在新功能全力开发中,由于采用delphi编译程序kmplayer的一些弊端,姜龙喜先生为改进播放器本身的一些性能而重新用vc进行构架,有需要的伙伴们可以移步简易下载站获取&#xff0…

如何在 C# 8 中使用 Channels

在面对 生产者-消费者 的场景下, netcore 提供了一个新的命名空间 System.Threading.Channels 来帮助我们更高效的处理此类问题,有了这个 Channels 存在, 生产者 和 消费者 可以各自处理自己的任务而不相互干扰,有利于两方的并发处理&#x…

mockito mock void方法_使用 Junit + Mockito 实践单元测试!

一、前言相信做过开发的同学,都多多少少写过下面的代码,很长一段时间我一直以为这就是单元测试...SpringBootTestRunWith(SpringRunner.class)public class UnitTest1 {Autowiredprivate UnitService unitService;Testpublic void test() {System.out.pr…

Outlook 阅读窗格(Reading Pane)

打开 Outlook 点一下邮件,在右侧会有每封邮件的内容预览。突然有一天你发现它不在了知道该怎么调出来吗?我是刚学到的。英文: View--->Reading Pane--->Right(右侧) Bottom(底部) Off&#xf…

java web编写计算器_javaWeb 使用 jsp 和 javaBean 实现计算器功能

jsp 和 javaBean 实现计算器功能try {calculator.calculate();} catch (Exception e) {out.write(e.getMessage());}%>简单的计算器第一个参数运算符-*/第二个参数结果package de.bvb.domain;import java.math.BigDecimal;public class Calculator {private String firstNum…

人为什么会出轨?麻省理工学院告诉你:男女配对的真相

该实验出自麻省理工学院著名经济学家Dan Ariely的《The Upside of Irrationality》。结果很有趣,在我们的生活中也尤为常见。实验人员找来100位正值青春年华的大学生,男女各半。然后制作了100张卡片,卡片上写了从1到100总共一百个数字。单数的…

当 .NET 5 遇上OpenTelemetry,会碰撞出怎样的火花?

OpenTelemetry 介绍我在之前的几篇文章都介绍了 OpenTelemetry, 你可以在这里找到OpenTelemetry - 云原生下可观测性的新标准深入研究.NET 5的开放式遥测OpenTelemetry是谷歌和微软共同推进的云原生监控的新规范, 兼容OpenTracing和OpenCensusOpenTelemetry的终极目…

教程大派送

都是华夏的 喜欢的拿去远程控制任我行脱壳 - [Money] 链接地址 :[url]http://download.77169.com/donghua/Crcak/xgyc.zip[/url]让你QQ永远不被***盗走 - [antty] 链接地址: [url]http://download.77169.com/donghua/hackQQ/qqfd.zip[/url]BT下载之疯狂抓鸡 - [奶茶] 链接地址:…

kotlin中mainactivity无法直接调用xml中的控件_使用52North 客户端接口调用OGC WPS服务...

52North是一个来自研究机构、工业界和公共行政管理界的研究者组成的开放国际合作组织,他们通过协作研发流程促进地理信息学创新。具体来说他们开发新的地理信息概念和技术,例如用于管理时空测量数据,以及通过网络共享地理处理技术。他们评估新…

python 密码学 模块_python学习-itsdangerous模块-黑马程序员技术交流社区

博客链接地址:http://www.zhuyannan.top/itsdangerous-加密你的数据/如果你想向不可信的环境发送数据,但又担心数据被别人利用,就可以使用 itsdangerous来加密签名你的数据。接收者可以破译内容,来看看你的包裹里有什么&#xff0…

明天放假,我放价!一个国庆假期教你学会数学建模

原价298元,国庆放价!248元即可报名学习!数学建模涉及的内容比较广泛,比如碎纸片问题中所涉及的图像识别及神经网络、小区开放问题中所涉及的车流模拟仿真、还有“互联网”时代的出租车资源配置中所涉及的运筹调度。或许数学建模的…

微软开源可扩展存储引擎Extensible Storage Engine

喜欢就关注我们吧!昨日,微软副总裁 Scott Van Vliet 在推特上表示,可扩展存储引擎 Extensible Storage Engine(ESE)现已开源。可扩展存储引擎 Extensible Storage Engine(ESE,也称 JET Blue&…

.NET应用程序中异步调用Web Service的几种方法 come from: veryhappy(wx.net)

测试程序界面 图一,调用前界面 图二,调用后界面 详细代码实现 闲言少叙,直接进入主题吧。首先一个声明一个类(将来在客户端与服务器间传递): public classClass1 { private int _ID; priv…

完美国际真数苹果_如果给你推荐一款很贵,但好用的苹果手机壳,你会买吗?...

【引言】说到全球最热门的手机,大家都知道一定是iPhone啦,作为系统和功能整合得最优秀的手机,不足的地方也非常明显,比如外壳不耐剐蹭,维修成本很高......,所以大多数果粉都会选择保护壳或者贴膜来保护自己…

水域大小 Java_leetcode —— 面试题 16.19. 水域大小

你有一个用于表示一片土地的整数矩阵land,该矩阵中每个点的值代表对应地点的海拔高度。若值为0则表示水域。由垂直、水平或对角连接的水域为池塘。池塘的大小是指相连接的水域的个数。编写一个方法来计算矩阵中所有池塘的大小,返回值需要从小到大排序。示…

python数组的切片操作_对Python 数组的切片操作

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里技术人对外发布原创技术内容的最大平台&…

使用缓存防击穿,解决微信”被动回复用户消息”重试回复问题

背景做微信公众号开发的时候,其中有个接收普通消息、接收事件推送 API。有这么条规则, ”微信服务器在五秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次。假如服务器无法保证在五秒内处理并回复,可以直接回…

美国硅谷预测10年后的世界,再不懂你就落伍了

预测毕竟是预测,不一定会全部都会实现,但其中相当多的一部分将会成为我们生活中的现实。生活在信息社会的每一个人,都应该对这些发展趋势有所了解,特此推荐给我们的读者朋友。现在因为人工智能(AI)的发展,配合更高速度…

谷歌浏览器安卓_安卓免费时代结束,国产手机或将集体涨价?

天下没有免费的午餐,免费多年的谷歌安卓系统或许即将成为历史。昨天上午,有网友发现,安卓官方推特账号发布推文,宣称公司计划在今年第三季度向中国手机厂商收取费用,包括华为、中兴、小米等。尽管这条消息又被秒删&…