匿名内部类(重点)

news/2024/9/20 21:46:29

所谓匿名内部类.可以理解为没有显式声明出来的内部来
问题描述:我们如果想调用接口里的方法或者继承抽象类里的变量.就要创建一个实现类来实现接口重写方法等还要new对象调用,
如果只是简单想使用一次接口里的方法,如何变得不麻烦
a.创建实现类
b实现接口,重写方法
c创建实现类对象
d调用方法
如果单纯想用接口就可以将上面的方法四合一
匿名内部类格式,这个实现类或者子类对象
new 接口/抽象类{
重写方法}.重写方法(); //这是匿名对象
类名 对象名=new 接口/抽象类{
重写方法}
对象名.重写方法
public class Test {
public static void main(String[] args) {
new USB(){

        @Overridepublic void open() {System.out.println("打开成功");}@Overridepublic void close() {

System.out.println("关闭成功");
}
}.open();
USB usb=new USB() {
@Override
public void open() {
System.out.println("打开成功");
}

        @Overridepublic void close() {System.out.println("关闭成功");}};//注意这里时匿名内部类创建的对象要加上;usb.open();usb.close();
}

}
public interface USB {
public void open();
public void close();
}


什么时候调用内部类
1.当需要简单使用一次接口中的方法时
2.匿名内部类就是一种格式化方法new出接口对象
3.匿名内部类会编译生成的,只需要按照格式new对象然后调用重写的方法就可以

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

Mystrcmp与指针的特点

/******************************************************************************************************* @file name: :Mystrcmp* @brief :模拟strcmp* @author :wvjnuhhail@126.com* @date :2024/06/24* @version 1.0 :V1.0* @proper…

【Azure Logic App】微软云逻辑应用连接到数据库,执行存储过程并转换执行结果为JSON数据

问题描述 Azure Logic App连接到SQL数据库后,执行存储过程并转换执行结果为JSON数据的步骤问题解答 在Logic App Design页面中,添加 Execute stored procedure组件,然后转换结果为JSON。 设计图如下: 关键步骤: 1) 添加 Sql Server 连接器中的 Execute stored procedur…

操作系统复习知识点

大题: 1、 磁盘调度算法:1先来先服务2最短寻道时间优先3电梯2、 银行家算法3、 页表地址转换4、 页面置换算法5、 处理机调度算法(先来先服务、短作业优先、高响应比优先)简答题 1、什么是操作系统?它有什么基本特征? 答:操作系统是指控制和管理计算机的软、硬件资源,合…

Kubernetes容器生命周期 —— 钩子函数详解(postStart、preStop)

1、概述容器生命周期钩子(Container Lifecycle Hooks)监听容器生命周期的特定事件,并在事件发生时执行已注册的回调函数。钩子函数能够感知自身生命周期中的事件,并在相应的时刻到来时运行用户指定的程序代码。kubernetes在主容器的启动之后和停止之前提供了两个钩子函数:…

Day1-Markdown笔记

Markdown学习 标题 三级标题 (共六级) 字体 hello,world hello,world hello,world hello,world 引用道阻且长,行则将至分割线图片 ![截图](C:\Users\魏子轩\Pictures\Screenshots\屏幕截图 2024-06-24 105856.png)超链接 [点击跳转到百度](百度一下,你就知道 (baidu.co…

关系选择器、属性选择器、伪类、伪元素选择器、分组与嵌套、选择器的优先级、宽度高度、字体、属性(text、background、border、display)

【一】关系选择器 【1】选择器类型后代选择器 儿子选择器 毗邻选择器 弟弟选择器选择符 名称 版本 描述E F 包含选择符(Descendant combinator) CSS1 选择所有被E元素包含的F元素。E>F 子选择符(Child combinator) CSS2 选择所有作为E元素的子元素F。E+F 相邻选择符(Adjacen…

vscode 快捷键

跳转到文件的最顶部 在 Visual Studio Code (VS Code) 中,你可以使用以下方法快速跳转到文件的最顶部:使用键盘快捷键:按下 Ctrl + Home 或 Command + Home(在 macOS 上)可以快速将光标跳转到文件的开头。使用命令面板:使用 Ctrl + Shift + P 或 Command + Shift + P(在…

渗透测试学习笔记

渗透测试:确定目标:#选择渗透对象,进行渗透准备信息收集:#指通过各种方式获取所需要的信息,便于在后续渗透过程更好进行,例如目标站点IP、中间件、脚本语言、端口、邮箱等是渗透测试成功的保障,提供更多暴露面和更大可能性 主动信息收集:# 通过直接访问网站进行操作、扫…