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

JAVA-内部类和匿名内部类

参考文献
https://blog.csdn.net/m0_73311735/article/details/127702688
https://blog.csdn.net/weixin_45861283/article/details/119344772

1.内部类
定义:将一个类 A 定义在另一个类 B 里面,里面的那个类 A 就称为内部类,B 则称为外部类。

特点:
(1)内部类可以直接访问外部类的成员,包括私有成员外部类要访问内部类的成员,必须要建立内部类的对象。
(2)访问格式为:

外部类名.内部类名 对象名 = new 外部类().new 内部类()

(3)内部类仍然是一个独立的类,在编译之后会内部类会被编译成独立的.class 文件,但是前面冠以外部类的类名和符号。

2.匿名内部类
匿名内部类 :是内部类的简化写法。
它的本质是一个带具体实现的父类或者父接口的 匿名的 子类对象。在开发过程中,最常用到的内部类就是匿名内部类了。
目的是为了实现接口并且调用接口内部的方法

以接口举例,FlyAble是个接口:

public class InnerDemo {public static void main(String[] args) {/**1.等号右边:是匿名内部类,定义并创建该接口的子类对象2.等号左边:是多态赋值,接口类型引用指向子类对象*/FlyAble f = new FlyAble(){public void fly() {System.out.println("芜湖,起飞!!🕊");}};//调用 fly方法,执行重写后的方法f.fly();}
}

相关文章:

  • 【微服务即时通讯系统】——etcd一致性键值存储系统、etcd的介绍、etcd的安装、etcd使用和功能测试
  • 【初阶数据结构】排序——选择排序
  • 使用lodash库实现防抖和节流
  • 进程的那些事--实现shell
  • 云计算中过等保三级需要的网络安全设备及详细讲解
  • 深度学习框架的选择:深入比较PyTorch与TensorFlow
  • Stable Diffusion ControlNet 的 control model(控制模型)
  • C语言 | Leetcode C语言题解之第442题数组中重复的数据
  • vue3 拖拽插件(drag)
  • UG NX二次开发(C#)-加工-创建加工坐标系,将刀位点和刀轴矢量变换到加工坐标系
  • 【python】函数介绍
  • 电子相册|智能化电子相册|基于java的电子相册管理系统设计与实现(源码+数据库+文档)
  • Python的风格应该是怎样的?除语法外,有哪些规范?
  • 深度学习之开发环境(CUDA、Conda、Pytorch)准备(4)
  • Kafka:架构与核心机制
  • “大数据应用场景”之隔壁老王(连载四)
  • C++类的相互关联
  • Centos6.8 使用rpm安装mysql5.7
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • Java 多线程编程之:notify 和 wait 用法
  • spark本地环境的搭建到运行第一个spark程序
  • Spark学习笔记之相关记录
  • uni-app项目数字滚动
  • webpack4 一点通
  • 力扣(LeetCode)965
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • 树莓派用上kodexplorer也能玩成私有网盘
  • #pragma data_seg 共享数据区(转)
  • #Ubuntu(修改root信息)
  • (2)STM32单片机上位机
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (javascript)再说document.body.scrollTop的使用问题
  • (leetcode学习)236. 二叉树的最近公共祖先
  • (六)软件测试分工
  • (七)Flink Watermark
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • .NET 动态调用WebService + WSE + UsernameToken
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • [ 隧道技术 ] 反弹shell的集中常见方式(四)python反弹shell
  • [2010-8-30]
  • [android]-如何在向服务器发送request时附加已保存的cookie数据
  • [C/C++]数据结构 堆的详解
  • [c++] 自写 MyString 类
  • [C++]类和对象(中)
  • [CISCN2021 Quals]upload(PNG-IDAT块嵌入马)
  • [emuch.net]MatrixComputations(7-12)
  • [Flexbox] Using order to rearrange flexbox children
  • [Git][认识Git]详细讲解
  • [Golang] goroutine
  • [HNOI2008]水平可见直线
  • [IE编程] 如何在IE8 下调试BHO控件/工具栏(调试Tab进程)
  • [imx9]DDR test Tool for imx9