学习JAVA的第九天(基础)

目录

接口

定义

使用

特点

注意事项

内部类

分类

内部类的访问特点

成员内部类

格式

获取成员内部类对象方式

静态内部类

格式

局部内部类

特点

匿名内部类

格式

格式解释

作用


接口

接口可以说是一种规则,是对行为的抽象

定义

cs 复制代码
public interface 接口名 {}

使用

接口和类是实现关系,用implements关键字表示

cs 复制代码
public class 类名 implements 接口名 {}

接口和类的实现关系,可以单实现,也可以多实现

cs 复制代码
public class 类名 implements 接口1,接口2 {}

实现类可以在继承一个类时实现多个接口

cs 复制代码
public class 类名 extends 父类 implements 接口1,接口2 {}

特点

成员变量只能是常量

没有构造方法

JDK7以前,只能定义抽象方法

JDK8:接口中可以定义有方法体的方法(默认,静态)

JDK9:接口可以定义私有方法

注意事项

接口不能实例化

接口的子类(实现类)要么重写接口中所有抽象方法,要么是抽象类

接口和接口是继承关系,可以单继承,也可以多继承。

内部类

在一个类里面,再定义一个类

分类

  • 成员内部类
  • 静态内部类
  • 局部内部类
  • 匿名内部类

内部类的访问特点

内部类可以直接访问外部类成员,包括私有的

外部类要访问内部类的成员,需要创建对象

成员内部类

写在成员位置的,属于外部类的成员

格式

java 复制代码
public class 外部类 {
        
        class 内部类{}
}

获取成员内部类对象方式

当成员内部类被private修饰时。在外部类编写方法,对外提供内部类对象

当成员内部类被非私有修饰时,直接创建对象

静态内部类

成员内部类的一种,静态内部类只能访问外部类的静态方法和静态变量,如果要访问非静态的需要创建对象

格式

java 复制代码
public class 外部类 {
        
       static class 内部类{}
}

局部内部类

将内部类定义在方法里面就叫做局部内部类,类似方法里的局部变量

特点

外界无法直接使用,需要在方法内创建对象并使用

可以直接访问外部类成员,也可以访问方法内的局部变量

匿名内部类

隐藏名字的内部类,可以写在成员位置,也可以写在局部位置

格式

cs 复制代码
new 类名或接口名(){
        重写方法;
};

格式解释

匿名内部类包含了继承或实现,方法重写,创建对象。整体是一个类的子类或者接口的实现类对象

作用

如果实现类只使用一次,就可以使用匿名内部类简化代码

相关推荐
遇见尚硅谷3 小时前
C语言:*p++与p++有何区别
c语言·开发语言·笔记·学习·算法
艾莉丝努力练剑4 小时前
【数据结构与算法】数据结构初阶:详解排序(二)——交换排序中的快速排序
c语言·开发语言·数据结构·学习·算法·链表·排序算法
jz_ddk4 小时前
[HarmonyOS] 鸿蒙LiteOS-A内核深度解析 —— 面向 IoT 与智能终端的“小而强大”内核
物联网·学习·华为·harmonyos
试着4 小时前
零基础学习性能测试第五章:Tomcat的性能分析与调优-Tomcat原理,核心配置项,性能瓶颈分析,调优
学习·零基础·tomcat·性能测试
老虎06275 小时前
JavaWeb(苍穹外卖)--学习笔记13(微信小程序开发,缓存菜品,Spring Cache)
笔记·学习·微信小程序
@蓝莓果粒茶6 小时前
LeetCode第350题_两个数组的交集II
c++·python·学习·算法·leetcode·职场和发展·c#
无名工程师6 小时前
AI 学习过程中各阶段的学习重点、时间规划以及不同方向的选择与建议等内容
人工智能·学习
试着6 小时前
零基础学习性能测试第五章:JVM性能分析与调优-垃圾回收器的分类与回收
jvm·学习·零基础·性能测试·垃圾回收器
livemetee7 小时前
Flink2.0学习笔记:Stream API 常用转换算子
大数据·学习·flink
WXX_s7 小时前
【OpenCV篇】OpenCV——03day.图像预处理(2)
人工智能·python·opencv·学习·计算机视觉