当前位置: 首页 > news >正文

自己做链接的网站吗培训机构招生方案范文

自己做链接的网站吗,培训机构招生方案范文,世界500强企业排名(2022最新名单),微信网站建设报价单匿名内部类 1. 定义:无类名(底层自动分配类名“外部类名$1”),既是类也是对象,定义在外部类的局部位置,例如方法体和代码块中,通过new类或接口并在大括号里重写方法来实现。 2. 使用场景&…
  • 匿名内部类

1. 定义:无类名(底层自动分配类名“外部类名$1”),既是类也是对象,定义在外部类的局部位置,例如方法体和代码块中,通过new类或接口并在大括号里重写方法来实现

2. 使用场景:需要实现接口,重写接口或类的方法,但只需要用到一次的类,可以用匿名内部类来简化开发,省去开发人员手动创建类和实现接口的过程,将这些过程交给编译器底层实现。直接new接口或类,在大括号里面实现所需的方法就可以了。编译类型是接口,运行类型是匿名内部类。

3. 匿名内部类并不是真的没有类名,只是开发人员交给底层去分配,实际上系统底层会给匿名内部类分配类名,规则是“外部类名$X”,X是匿名内部类的编号,从1开始。

4. 使用匿名内部类必须new分配空间,所以它既是类也是对象,这个类分配完空间后就不能再使用了

public class AnonymousInnerClass {public static void main(String[] args) {Outer04 outer04 = new Outer04();outer04.method();}
}class Outer04 { // 外部类private int n1 = 10; // 属性// 基于接口的匿名内部类的使用public void method() { // 方法IA ia = new IA() {@Overridepublic void cry() {// 重写接口中的方法System.out.println("重写的方法...");}};ia.cry();System.out.println("匿名内部类的运行类型是: " + ia.getClass());System.out.println("============================");// 基于类的匿名内部类的使用Father father = new Father("jack") {@Overridepublic void test() {System.out.println("重写的方法...");}};father.test();System.out.println("匿名内部类的运行类型是: " + father.getClass());}
}interface IA { // 接口public void cry();
}abstract class Father {public Father(String name) { // 构造器}public abstract void test(); // 抽象方法
}

运行结果:

5. 因为匿名内部类返回的是一个对象,所以可以直接在后面通过"匿名内部类.方法名(参数列表)"的形式来直接调用方法。

public class AnonymousDetail {public static void main(String[] args) {Outer outer = new Outer();outer.method();}
}class Outer {public void method() {new Cat01("猫猫") {@Overridepublic void eat(Object obj) {String str = (String) obj;System.out.println("猫吃: " + str);}}.eat("猫粮"); // 直接调用重写方法}
}class Cat01 {private String name;public Cat01(String name) {this.name = name;}public void eat(Object obj) {}
}

6. 和局部内部类一样,匿名内部类也可以直接访问外部类的所有成员,但外部类不能直接访问内部类的成员

7. 和局部内部类一样,匿名内部类访问外部类成员依然要用“外部类.this.外部类属性名”的方式访问。

  • 匿名内部类的最佳实践
public class AnonymousExercise02 {public static void main(String[] args) {CellPhone cellPhone = new CellPhone();cellPhone.alarmClock(new Bell() {@Overridepublic void ring() {System.out.println("起床啦...");}});cellPhone.alarmClock(new Bell() {@Overridepublic void ring() {System.out.println("闹铃响了...");}});}
}interface Bell{void ring();
}class CellPhone {public void alarmClock(Bell bell) {bell.ring();}
}

运行结果:

http://www.tj-hxxt.cn/news/123623.html

相关文章:

  • 怎么做站旅游网站上泡到妞链接搜索
  • 网站美化的目标网络销售公司经营范围
  • 网站打开速度进行检测广东网络推广运营
  • 和硕网站建设舆情监测系统
  • 外贸响应式网站新乡seo推广
  • 做围棋死活题的网站站长素材音效
  • dede网站后台设置wap模板目录营销策划公司简介
  • 微信支付 网站建设南宁网站seo外包
  • 网站建设 成本新手怎么做网络推广
  • 建设网站安全措施百度竞价广告怎么投放
  • 网站建设服务好公司广州seo成功案例
  • 采网站建设搜索历史记录
  • 网站有哪些区别是什么培训优化
  • 微信h5商城网站开发网站排名优化
  • 网站开发流程图seo网站推广案例
  • 如何做阿里详情页面链接到外部网站烟台seo外包
  • 网站seo跟短视频新平台怎么推广
  • 做游戏网站多钱如何刷关键词指数
  • 简述网站开发平台官网优化 报价
  • 网站做子站点有什么用武汉seo人才
  • 定制鞋子哪个网站好app开发自学教程
  • 类似有点料的推广平台seo上海优化
  • ps做游戏网站免费做网站软件
  • 网站推广策划方案模板seo案例分析
  • 怎样做微商网站如何在百度上做广告
  • 合肥高端网站91手机用哪个浏览器
  • wordpress建站镜像事件营销的概念
  • 晋中企业网站建设公司网址收录
  • 做网站 传视频 用什么笔记本好app推广是什么工作
  • 动态网站标题怎么做的湖南网站seo找行者seo