学习JAVA的第九天(基础)

news/2024/7/27 12:03:25

目录

接口

定义

使用 

特点 

注意事项

内部类 

分类 

内部类的访问特点 

成员内部类

格式

获取成员内部类对象方式   

静态内部类

格式

局部内部类

特点

匿名内部类

格式

格式解释 

作用


接口

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

定义

public interface 接口名 {}

使用 

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

public class 类名 implements 接口名 {}

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

public class 类名 implements 接口1,接口2 {}

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

public class 类名 extends 父类 implements 接口1,接口2 {}

特点 

                成员变量只能是常量

                没有构造方法

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

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

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

注意事项

                接口不能实例化

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

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

内部类 

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

                   

分类 

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

内部类的访问特点 

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

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

成员内部类

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

格式

public class 外部类 {class 内部类{}
}

获取成员内部类对象方式   

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

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

静态内部类

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

格式

public class 外部类 {static class 内部类{}
}

局部内部类

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

特点

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

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

匿名内部类

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

格式

new 类名或接口名(){重写方法;
};

格式解释 

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

作用

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

                        

                


http://wed.xjx100/news/1186667.html

相关文章

第一节 数据操作+数据处理

本系列文章为李沐老师《动手学深度学习》Pytorch版实践学习笔记,相关课程教学、书籍、代码均为开源,可通过以下链接参考学习: 跟李沐学AI的个人空间-跟李沐学AI个人主页-哔哩哔哩视频 (bilibili.com) 前言 — 动手学深度学习 2.0.0 documenta…

Random,随机函数

黑马程序员学习笔记 nextInt(n): 只生成0~(n-1)之间的数字,不包括n 主要代码就三个; package com.zhang.random;import java.util.Random;public class RandomDemo1 {public static void main(String[] args) {//目标:掌握使用Random生成随…

Flink Catalog

1.Flink侧创建 按照SQL的解析处理流程在Parse解析SQL以后,进入执行流程——executeInternal。   其中有个分支专门处理创建Catalog的SQL命令 } else if (operation instanceof CreateCatalogOperation) {return createCatalog((CreateCatalogOperation) operatio…

linux动态库加载相关

linux下动态库搜索规则 (1)编译目标代码时指定的动态库搜索路径,也就是RPATH; (2)环境变量LD_LIBRARY_PATH指定的动态库搜索路径; (3)配置文件/etc/ld.so.conf中指定的动态库搜索路径;配置完毕后需运行ldconfig命令生效; (4)默…

使用.NET 升级助手工具将.net framework4.8 MVC项目升级到net6

1 新建.net framework4.8 MVC项目 随便添加一个可以访问的界面用于测试 2 对当前项目进行升级 注意:若要进行升级,首先确保本地已安装相应的sdk,例如:dotnet-sdk-6.0.402-win-x64.exe1.运行cmd命令窗口,进入项目所在…

用户运营是什么?怎么做好用户运营?

一、用户运营概述 用户运营是通过一系列策略和活动来管理和提升企业与用户之间的关系。其核心重点包括: 吸引用户 留住用户 与用户进行有效的互动 提升用户体验 增加用户的参与度 二、用户运营所需技能 数据分析能力:收集、处理、分析和解读用户…

★【递归】【链表】Leetcode 21. 合并两个有序链表

★【递归】【链表】Leetcode 21. 合并两个有序链表 解法1 :递归链表 简直是好题啊好题多做做 ---------------🎈🎈题目链接🎈🎈------------------- 解法1 :递归链表 简直是好题啊好题多做做 >>>…

abc136

文章目录 A TransferB Uneven NumbersC Build StairsD Gathering ChildrenE Max GCDF Enclosed Points A Transfer 我们有两个装水的瓶子。 瓶子1 最多可以装 A毫升水,现在里面有B 毫升水。 瓶子2 里有 C 毫升水 我们将尽可能多地从瓶子2 中转移到瓶子1 中。 瓶子…