【Java基础】017 -- 面向对象进阶二(包、代码块、抽象类、接口、内部类)
创始人
2024-05-24 17:42:37
0

 

目录

四、包和final

1、什么是包?

2、使用其它类的规则

①、规则实现

②、小结

3、final

①、示例代码

②、常量

③、练习

④、小结

五、权限修饰符和代码块

1、权限修饰符的分类

2、权限修饰符的使用规则

3、代码块

①、局部代码块(写在方法中的{})

变量只在所属的代码块中有效,最本质的作用就是:节约内存,但是现在基本上就用不上了。

②、构造代码块(写在成员位置的代码块)

③、静态代码块(重点)

④、小结

六、抽象类和抽象方法

1、什么是抽象类?

2、抽象类和抽象方法的定义格式

①、代码演示

3、抽象类和抽象方法的注意事项

4、抽象类和抽象方法的意义

5、小结

七、接口

1、为什么有接口?

2、接口的应用

3、接口的定义和使用

4、接口中成员的特点

5、接口和类之间的关系

6、接口中新增的方法

①、为什么这么设计?

②、默认方法

③、静态方法

④、私有方法(JDK9)

7、适配器设计模式

八、内部类

1、初始内部类

①、为什么要学习内部类?

②、小结

2、成员内部类

①、获取成员内部类对象

②、成员内部类如何获取外部类的成员变量

③、小结

3、静态内部类

小结

4、局部内部类(没什么用)

5、匿名内部类

①、匿名内部类的基础语法

②、匿名内部类的使用场景

③、扩展

④、小结


四、包和final

1、什么是包?

2、使用其它类的规则

①、规则实现

②、小结

3、final

①、示例代码

②、常量

示例代码:

③、练习

导入模块时,选择导入.imi文件

由于在Switch…case中使用数字导致代码可读性较差

那么我们可以提前定义常量来使用,从而增加可读性

④、小结

五、权限修饰符和代码块

1、权限修饰符的分类

2、权限修饰符的使用规则

3、代码块

①、局部代码块(写在方法中的{})

变量只在所属的代码块中有效,最本质的作用就是:节约内存,但是现在基本上就用不上了。

②、构造代码块(写在成员位置的代码块)

优于构造方法前执行

但是这种方法不灵活,如果有重复的代码,我们会把重复的代码写在一个构造方法中,然后用this调用

③、静态代码块(重点)

④、小结

六、抽象类和抽象方法

1、什么是抽象类?

2、抽象类和抽象方法的定义格式

①、代码演示

3、抽象类和抽象方法的注意事项

练习一:编写带有抽象类的标准JavaBean类

结构图:

示例代码:(JavaBean省略)

4、抽象类和抽象方法的意义

还是代码复用的问题:

5、小结

七、接口

1、为什么有接口?

可以把接口理解成一种规则:

2、接口的应用

接口是对行为的抽象

3、接口的定义和使用

练习一:编写带有接口和抽象类的标准JavaBean类

示例代码:(省略JavaBean)

4、接口中成员的特点

示例代码:

测试类:

jps(内存分析工具):

5、接口和类之间的关系

练习一:编写带有接口和抽象类的标准JavaBean类

结构图:

第一个思路:

第二个思路:(最优)

示例代码:(省略JavaBean)

6、接口中新增的方法

①、为什么这么设计?

JDK7以前,只要接口中新增了一个方法,后续的实现类也要新增该方法的重写,很麻烦

那么新特性就是这么出现的,是在接口升级时为了兼容性而使用的

②、默认方法

默认方法不强制被重写,public可以省略

如果实现了多个接口,且接口中存在相同名字的默认方法,子类必须强制重写

③、静态方法

代码实现:

④、私有方法(JDK9)

7、适配器设计模式

示例:我只想重写接口的第五个方法

InterAdapter:对接口进行空实现

然后用实现类InterImpl重写方法5即可

小结:

八、内部类

1、初始内部类

①、为什么要学习内部类?

最好的方法就是把发动机作为Car的内部类

示例代码:

②、小结

2、成员内部类

①、获取成员内部类对象

示例代码:

②、成员内部类如何获取外部类的成员变量

练习一:成员内部类 - 面试题(重名问题)

示例代码:

内部类的内存图:(内部类中有一个隐藏的this,用来记录外部类对象的地址值)

③、小结

3、静态内部类

示例代码:

静态内部类方法的调用:

小结

4、局部内部类(没什么用)

5、匿名内部类

①、匿名内部类的基础语法

接口:实现关系

抽象类:继承关系

javap反编译:

②、匿名内部类的使用场景

③、扩展

对象赋值:

调用方法:

④、小结

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...