匿名内部类创建一个匿名内部类

匿名内部类  时间:2021-09-27  阅读:()

java 匿名内部类 如何实现? 举例说明

使用匿名内部类课使代码更加简洁、紧凑,模块化程度更高。

内部类能够访问外部内的一切成员变量和方法,包括私有的,而实现接口或继承类做不到。

然而这个不是我说的重点,我说的很简单,就是匿名内部类的两种实现方式:第一种,继承一个类,重写其方法;第二种,实现一个接口(可以是多个),实现其方法。

下面通过代码来说明: Java代码 public class TestAnonymousInterClass{ public static void main(String args[]){ TestAnonymousInterClass test=new TestAnonymousInterClass(); test.show(); } //在这个方法中构造了一个匿名内部类 private void show(){ Out anonyInter=new Out(){// 获取匿名内部类实例 void show(){//重写父类的方法 System.out.println("this is Anonymous InterClass showing."); } }; anonyInter.show();// 调用其方法 } } // 这是一个已经存在的类,匿名内部类通过重写其方法,将会获得另外的实现 class Out{ void show(){ System.out.println("this is Out showing."); } } public class InterFaceDemo03{ public static void main(String[] args){ new MyInterface(){ public void sayHello(){ System.out.println("Hello"); } }.sayHello(); } } /* 将接口注释掉 同样可以实现 */ interface MyInterface{ void sayHello(); }

Java匿名内部类怎样创建,有何作用和优点,创建线程怎样使用匿名内部类

1、匿名内部类就是没有名字的内部类。

这是Java为了方便我们编写程序而设计的一个机制。

因为有时候有的内部类只需要创建一个它的对象就可以了,以后再不会用到这个类,这时候使用匿名内部类就比较合适,而且也免去了给它取名字的烦恼。

2、如果满足下面的一些条件,使用匿名内部类是比较合适的: ·只用到类的一个实例。

·类在定义后马上用到。

·类非常小(SUN推荐是在4行代码以下) ·给类命名并不会导致你的代码更容易被理解。

在使用匿名内部类时,要记住以下几个原则: ·匿名内部类不能有构造方法。

·匿名内部类不能定义任何静态成员、方法和类。

·匿名内部类不能是public,protected,private,static。

·只能创建匿名内部类的一个实例。

·一个匿名内部类一定是在new的后面,用其隐含实现一个接口或实现一个类。

·因匿名内部类为局部内部类,所以局部内部类的所有限制都对其生效。

3、用匿名内部类创建多线程有两种方式,和创建一个线程是一样的。

第①种继承Thread: new Thread(){ public void run(){ //do something }; }.start(); 第②种实现 Runnable接口: new Thread(new Runnable() { public void run() { //do something }; }) { }.start();

Java中怎样使用匿名内部类,有什么要求

展开全部 匿名类, 就是没有类名的类 。

例: new Thread(new Runnable() {//因为是实现了Runnable接口的匿名类,就要实现里面的方法 pulic void run() { } } ).start(); //匿名类就这样的。

接下来是内部类 public class Demo{ private class Test{ } } 在一个类的内部声明的类,就是内部类,当然,内部类一般都是在只提供给当前类使用的。

创建一个匿名内部类

很简单的例子: public class NoneClass { Peoples man = new Peoples(){public void eat(){System.out.println("吃饭");}}; } interface Peoples{ public void eat(); } 这里的 new Peoples(){public void eat(){System.out.println("吃饭");}}; 就创建了个匿名内部类 本来接口interface是不能new的,但是紧跟new Peoples(){}后跟的大括号,表示这个接口有个实现类,其实new的是Peoples这个接口的实现类,但是这个实现类是匿名内部类的形式。

小欢互联19元/月起, 即日起至10月底 美国CERA 促销活动 美国/香港八折

小欢互联成立于2019年10月,主打海外高性价比云服务器、CDN和虚拟主机服务。近期上线了自营美国CERA机房高速VPS,进行促销活动,为客户奉上美国/香港八折优惠码:Xxc1mtLB优惠码适用于美国CERA一区/二区以及香港一区/二区优惠时间:即日起至10月底优惠码可无限次使用,且续费同价!官网:https://idc.xh-ws.com购买地址:美国CERA一区:https://idc.xh-...

安徽BGP云服务器 1核 1G 5M 29元/月 香港云服务器 1核 1G 19元首月 麻花云

麻花云怎么样?麻花云公司成立于2007年,当前主打产品为安徽移动BGP线路,数据中心连入移动骨干网。提供5M,10M大带宽云主机,香港云服务器产品,数据中心为香港将军澳机房,香港宽频机房 cn2-GIA优质线路、采用HYPER-V,KVM虚拟技术架构一、麻花云官网点击直达麻花云官方网站合肥网联网络科技有限公司优惠码: 专属优惠码:F1B07B 享受85折优惠。最新活动 :双11 云上嗨购 香港云主...

knownhost西雅图/亚特兰大/阿姆斯特丹$5/月,2个IP1G内存/1核/20gSSD/1T流量

美国知名管理型主机公司,2006年运作至今,虚拟主机、VPS、云服务器、独立服务器等业务全部采用“managed”,也就是人工参与度高,很多事情都可以人工帮你处理,不过一直以来价格也贵。也不知道knownhost什么时候开始运作无管理型业务的,估计是为了扩展市场吧,反正是出来较长时间了。闲来无事,那就给大家介绍下“unmanaged VPS”,也就是无管理型VPS,低至5美元/月,基于KVM虚拟,...

匿名内部类为你推荐
波粒高清监控系统进不了操作系统,开机只显示波粒百万高清,什么都看不到,求高手智能工单系统智能供电系统方案怎么做皮城警备现在皮城警备这区怎么样,?内蒙古工业大学地址内蒙古工业大学的校区简介番禺网站优化广州网站优化的公司网站优化最最专业的哪家数据挖掘的应用目前,数据挖掘技术在我们身边的具体应用有哪些?大家可以在线交流交流......上海长宽上海地铁最小的车宽度有几米?女网管网吧女网管的工作职责有哪些?交通信号灯控制系统什么是智能交通信号灯cmnet设置CMNET怎样在手机里设置
瓦工 inmotionhosting 流媒体服务器 腾讯云数据库 parseerror ssh帐号 炎黄盛世 已备案删除域名 息壤代理 天翼云盘 drupal安装 国外视频网站有哪些 宏讯 畅行云 学生服务器 apnic .htaccess apache启动失败 瓦工招聘 次时代主机 更多