news 2026/4/20 4:53:14

面向对象高级(接口内部类)2.0

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
面向对象高级(接口内部类)2.0

面向对象高级(接口&内部类)

一.接口

1.1认识接口

Java提供了关键字interface,用它来定义接口这种特殊结构

格式

public interface 接口名{

//成员变量(默认常量)

//成员方法(默认抽象方法)

}

接口的使用:

1.接口是用来被类实现(implements)的,称之为实现类(伪继承 但是也是父子关系)

2.一个类是可以实现多个接口的(接口可以理解成干爹),类实现接口必须重写所有接口的全部抽象方法,否则这个类也必须是抽象类

接口调用方法

3.一个接口可以继承多个接口,接口同时也可以被类实现

1.2接口的好处

1.弥补了类单继承的不足,一个类可以实现多个接口

2.让程序可以面相接口编程,这样程序员可以灵活方便切换各种业务实现

1.3接口JDK8的新特性

接口JDK可以调用默认方法(实例方法)、私有方法、类方法(静态方法)

1.4接口的其他细节(了解)

注意事项: 一个接口可以继承多个接口 作用:便于实现类去实现

1.一个接口继承多个接口 如果多个接口中存在相同的方法声明 则此时不支持多继承

2.一个类实现多个接口 如果多个接口中存在相同的方法声明 则此时不支持多实现

3.一个类继承了父类 又同时实现了接口 父类中和接口中有同名的默认方法 实现类会有限使用父类的方法

4.一个类实现类多个接口 多个接口中有同名的默认方法 则这个类必须重写该方法

二.内部类

2.1成员内部类

成员内部类就是类中的一个普通成员 类似成员变量 成员方法

成员内部类创建格式

//外部类.内部类 变量名 = new 外部类().new 内部类();

Outer.Inner in = new Outer().new Inner();

//调用内部类的方法

in.test();

内部类访问成语的特点:

既可以访问内部类的成员 也可以访问外部类成员

如果内部类成员和外部类成员同名 可以使用 类名.this成员 区分

2.2静态内部类

静态内部类,其实就是在成员内部类的前面加了一个static关键字。静态内部类属于外部类自己持有

2.3局部内部类

局部内部类是定义在方法中的类 和局部变量一样 只能在方法中有效 所以内部类的局限性很强 一般在开发中是不会使用的

静态内部类创建对象格式

需要用外部类的类名调用

//格式:外部类.内部类 变量名 = new 外部类. 内部类();

Outer.Inner in = new Outer().new Inner();

in.test();

匿名内部类

匿名内部类是一种特殊的局部内部类;所谓匿名,指的是程序员不需要为类声明名字

匿名内部类本质上是一个没有名字的子类对象、或者接口的实现类对象

格式

new 父类/接口(参数值){

@Override

重写父类/接口的方法

}

匿名内部类有啥作用、应用场景
作用:简化了创建子类对象、实现对象的书写格式
可以更方便的创建出一个子类对象
场景:只有在调用方法时 当方法的形参是一个接口或者抽象类 为了简化代码书写 而直接传送匿名内部类对象给方法应用
匿名内部类通常作为一个参数传输给方法
匿名内部类的特点

匿名内部类本质就是一个子类 并会立即创建出一个子类对象

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/20 4:52:43

手机银行App模拟器

分享一款银行模拟器,农业银行模拟器,装逼娱乐神器,安卓苹果都支持!功能: 修改余额,自由修改数据,也可以模拟余额冻结和转出失败,功能多多,使用起来也是非常的方便,看图片…

作者头像 李华
网站建设 2026/4/20 4:51:14

从NANO 2.x到33 BLE:一文理清Arduino NANO家族谱系与升级路线

Arduino NANO家族进化论:从经典到物联网时代的智能选择 第一次接触Arduino NANO时,我被它小巧的体型和完整的Arduino功能所震撼——这个只有面包板大小的开发板竟然能完成UNO的大部分工作。但随着项目需求越来越复杂,特别是开始接触物联网和边…

作者头像 李华
网站建设 2026/4/20 4:45:57

基于c/c++实现linux/windows跨平台ntp时间戳服务器

目录使用场景c/c源码结果验证windows编译命令linux编译命令服务器输出结果客户端输出结果使用场景 在某些严格要求时间同步很精准的项目中,获取网络ntp时间的时间延时比较大,做滤波处理可能效果也不理想。因此可以搭建一个本地ntp服务器,这样…

作者头像 李华
网站建设 2026/4/20 4:39:25

串口调试神器COMTransmit的隐藏功能:这样调试CH9143效率翻倍

串口调试神器COMTransmit的隐藏功能:这样调试CH9143效率翻倍 在嵌入式开发领域,串口调试就像工程师的"听诊器",而COMTransmit无疑是这把听诊器的专业升级版。许多开发者仅仅把它当作基础收发工具,却不知道其中藏着能让你…

作者头像 李华