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

Java匿名内部类的使用

演示匿名内部类的使用,很重要

package com.shedu.Inner;/*** 演示匿名内部类的使用*/
public class AnonymousInnerClass {//外部其他类public static void main(String[] args) {Outer04 outer04 = new Outer04();outer04.method();}
}class Outer04{//外部类private int n1 = 10;//属性public void method(){//方法//基于接口的匿名内部类//1.需求:想使用IA接口,并创建对象//2.传统方式,是写一个类,实现该接口,并创建对象//3.如果我们的需求是这个类只使用一个,后面不再使用//4.可以使用匿名内部类来简化开发//5.tiger的编译类型 :IA//6.tiger的运行类型:匿名内部类  类名:Outer04$1/*底层 会分配 类名 Outer04$1class Outer04$1 implements IA{@Overridepublic void cry() {System.out.println("老虎叫");}}*///7.jdk底层会在创建匿名内部类Outer04$1后,// 立刻马上就创建了Outer04$1实例,并把地址返回给tiger//8.匿名内部类使用一次后,就不能使用了IA tiger = new IA(){@Overridepublic void cry() {System.out.println("老虎叫");}};System.out.println("匿名内部类的运行类型:"+tiger.getClass());tiger.cry();//演示基于类的匿名内部类//1.father的编译类型 Father//2.father的运行类型 Outer0$2//3.底层创建匿名内部类/*底层 会分配 类名 Outer04$2class Outer04$2 implements Father{@Overridepublic void test() {System.out.println("匿名内部类重写了test方法");}}*///4.同时也直接返回类匿名内部类Outer04$1的对象//5.注意(“abc”)参数列表会传递给构造器Father father = new Father("abc"){@Overridepublic void test() {System.out.println("匿名内部类重写了test方法");}};System.out.println("father对象的运行类型:"+father.getClass());father.test();//基于抽象类的匿名内部类Animal animal = new Animal(){@Overridevoid eat() {System.out.println("动物吃");}};animal.eat();System.out.println("animal对象的运行类型:"+animal.getClass());}
}
interface IA{//接口void cry();
}
class Father{public Father(String name) {//构造器}public void test(){}
}abstract class Animal{//抽象类abstract void eat();}
http://www.lryc.cn/news/353845.html

相关文章:

  • 把自己的垃圾代码发布到官方中央仓库
  • 单机一天轻松300+ 最新微信小程序拼多多+京东全自动掘金项目、
  • 线性回归模型之套索回归
  • 解决文件夹打开出错问题:原因、数据恢复与预防措施
  • Spring:面向切面(AOP)
  • 本地镜像文件怎么导入docker desktop
  • 【机器学习-23】关联规则(Apriori)算法:介绍、应用与实现
  • Gradle筑基——Gradle Maven仓库管理
  • c++11:智能指针的种类以及使用场景
  • RabbitMQ-默认读、写方式介绍
  • 阿里云百炼大模型使用
  • 亲测有效,通过接口实现完美身份证号有效性验证+身份证与姓名匹配查询身份实名认证接口(实时)
  • 试题11 输出什么?
  • 对vue3/core源码ref.ts文件API的认识过程
  • AWS迁移与传输之AWS DMS
  • 【ML Olympiad】预测地震破坏——根据建筑物位置和施工情况预测地震对建筑物造成的破坏程度
  • kafka监控配置和告警配置
  • 关于智慧校园安全用电监测系统的设计
  • Flutter 中的 FormField 小部件:全面指南
  • 数据库DCL语句
  • mysql-日志管理-error.log
  • 弱密码系统登录之后强制修改密码
  • 解释Python中的多线程和多进程编程
  • 【LeetCode】【1】两数之和(1141字)
  • 【论文速读】|探索ChatGPT在软件安全应用中的局限性
  • 部门来了个测试开发,听说是00后,上来一顿操作给我看蒙了...
  • 小程序-修改用户头像
  • PCIe总线-事物层之TLP请求和完成报文格式介绍(六)
  • 从 0 开始实现一个网页聊天室 (小型项目)
  • Tomcat部署项目的方式