OOP 三大特征和文件编程面试题 | 学习笔记

简介: 快速学习OOP 三大特征和文件编程面试题,课程揭秘Java面向对象编程的奥秘,深入解析Java经典数据类型,多线程编程详解,带你全面探索多线程编程的世界,攻克Java面向对象编程疑难点!

开发者学堂课程【5天玩转Java 面向对象编程训练营第三课时:OOP 三大特征和文件编程面试题】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/349/detail/4083


OOP 三大特征和文件编程面试题

 

内容简介

一、课程回顾

二、面向对象的三大特征

三、Java的 类 继承

四、高级面试题 多态:实现机制

五、抽象类 抽象的类型 无法具体化接口 结束合约

六、Java 文件编程 File 读写文件编辑器

 

一、课程回顾:

1、Java 是由SUN 公司于19955月推出的高级程序设计语言,最初的版本是以OAK来命名的,正式推出使用之后更名为JavaJava 之父是詹姆斯•高斯林,JavV名字的由来是印度尼西亚爪哇岛英文名称,因盛产咖啡而闻名。

Java语言中的许多库类名称,多与咖啡有关:如JavaBeans咖啡豆)、NetBeans(网络豆)以及ObjectBeans(对象豆)等等。

SUNJAVA 的标识也正是一杯正冒着热气的咖啡。
2、JDK Java 开发工具包 (Java Development Kit ) 的缩写。从字面意思翻译过来就是java 开发的工具。它是一种用于构建在 Java 平台上发布的应用程序;JVM Java 虚拟机的英文简称。他是java 运行环境的一部分。它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

38大基本类型:整型的byteshoruintlong;字符型的char;浮点型的floatdouble、;布尔型booleanJava很多的数据类型都是从小学数学引进来的。

4、变量指的是小学数学的xyz等等一系列的代数符号。

5、C语言中的函数Function 本意是:函数就是 C 语言的模块,一块一块的,有较强的独立性,可以相互调用,换句话说,C 语言中,一个函数里面可以调用 n 个函数,即大函数调用小函数,小函数又调用“小小”函数。这就是结构化程序设计,所以面向过程的语言又叫结构化语言。

6、对象Object 本质上是代表了某个东西,作为一个编程语言的话,为了更好的使用代码去体现要处理的数据而引用了Object

7、Class 是作为归类而产生的,把不同类型的代码进行分类。


二、面向对象的三大特征

1、继承:子类继承父类的代码

继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。

2封装:Class+修饰符封装代码

即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成,其中数据和函数都是类的成员。

在电子方面,封装是指把硅片上的电路管脚,用导线接引到外部接头处,以便与其它器件连接。

3多态:同一种行为,多种代码实现

多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。

不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。


三、Java 的 类 继承

1、Java定义基类Animal

举例:

1.png

Java定义狗Dog继承自Animal基类

2.png

其中extend 是继承关键字其语法格式是:修饰符 class 子类 extends 父类,在父类中公开的属性以及方法都能被子类继承。

在以上的这个例子里面extend 的继承类就是Animal

2测试Java 子类行为多态

举例:

3.png

行为多态就是参数的个数和类型的差异,在编程中指的是同一种行为的多种实现。

3Java Class 类继承

继承是为了更好的代码重用,Java 的子类可以继承父类,并且Java 所有的方法都是默认的Virtual

举例:淘宝订单

4.png

继承父类订单Order

6.png

举例:测试面向对象

5.png

其中的main 函数又称主函数,是程序执行的起点,main 是相对来说的,如同音学理论之主调于泛音,泛音即程序中的除main 之外的其他函数,迎合人们的思考方式而生成的而非必定的模式。

有主有次,执行起来条清缕析,既可将程序模块化又实现了一个闭合的整体。

举例:行为扩展,方法重载,同一个类型的同名方法不同实现

7.png

在这里面子类和父类的同名方法,参数相同的重写

以上是用互联网订单的例子来进行讲解的。

面向对象编程提供了很多不同的机制去支持代码的重用和灵活扩展的机制,本质上所有的编程语言的出发点都是一样的,包括编程对象和编程原子都是一样的,只是在语法上会有些许的区别。


四、高级面试题 多态:实现机制

多态本质指的是同一种行为的多种实现,多态是编程语言的一个抽象表现。

| 面试题:面向对象行为多态

1、多态是行为(功能、函数、方法)的多态;

2、指为同名的方法提供不同的实现代码;

3、我们不关心方法的具体实现,而是仅仅依靠名称来进行调用操作;

4、多态是面向对象编程的最重要特征(继承、封装、多态);

5Abstract 抽象方法和Virtual虚方法是多态的基础;

6Java C#提供三种多态能力分别是:

①接口多态:依赖实现接口来提供多态能力;

②继承多态:依赖继承来提供多态能力

③抽象多态:依赖抽象类来提供多态能力。

接口:部分约束 合约 约定

8.png

接口是功能的集合,同样可看做是一种特殊的数据类型,是比抽象类更为抽象的类。

JAVA编程语言中是一个抽象类型,是抽象方法的集合。接口通常以interface 来声明。

一个类通过继承接口的方式,从而来继承接口的抽象方法。

| 面试题:Java 多态实现方式

1、Java 多态概念:

多态性是面向对象编程中的一个重要特性,主要是用来实现动态联编的。换句话说,就是程序的最终状态只有在执行过程中才被决定,而非在编译期间就决定了。这对于大型系统来说能提高系统的灵活性和扩展性。

多态允许相同类域的不同对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。

多态可以让我们不用关心某个对象到底是什么具体类型,就可以使用该对象的某些方法,从而实现更加灵活的编程,提高系统的可扩展性。

如果对象的编译时类型和运行时类型不一致,就会造成多态。

2、多态是行为的多态;

3、重载Overlodading

同一个类中,兄弟方法,方法名相同,参数个球、类型、顺序不同;

4、重写Override

子类和父类,父子关系,子类重新实现父类中同名方法;

5@Override 标记到重写的方法上。


五、抽象类 抽象的类型 无法具体化接口 结束合约

抽象类的本质是抽象方法只能定义在抽象类中,抽象的方法和抽象的类必须由关键字abstract 修饰,抽象类值只定义方法声明,不定义功能主题(即方法的实现),抽象类不可以被创建对象,抽象类只有子类继承了父类中的方法,并且对其中的所有抽象方法进行了重写。

该子类才不是抽象类,只要不是重写当中的所有抽象方法,那么这个子类还是抽象类。

1Java 动物类Aminal

举例:

9.png

其中抽象类代表同一类别,接口代表一种部分约束。

 10.png

| 面试题:抽象类和接口的区别

1、实例方法:创建对象才能调用的方法;

2、静态方法:Sratic 修饰的方法,属于类Class,不需要实化;

3、虚方法:virtual,介于抽象和实体方法之间,可以重写;

4、除了staticfinalprivate修饰的所有方法都是。

5、Abstract 抽象类不可以被实例化,interface接口也不可以;

6、抽象类只允许单继承,接口可以多继承;

7、Abstracr 抽象类有具体方法实现,接口只有方法声明

8、抽象类使用关键字extends,借口继承使用implements


六、Java 文件编程 File 读写文件编辑器

文件是数据的一种存储形式。

1、Javaio File数据读写操作

1、Javaio包几乎包含了所有操作输入、输入需要的类;

2、所有这些流类代表了输入源和输出目标;

3、JavaioFile文件类库的流支持很多种格式,比如:基本类型、对象、本地化字符集等;

4、一个流可以理解为一个数据的序列;

5、输入流表示从一个源读取数据,输出流表示向一个目标写数据;

6、Java I/O提供了强大且灵活的支持、类库;

7、使其更广泛地应用到文件传输和网络编程中。

举例:Java FileWriter 写入文件

 11.png

12.png

 

 

 

相关文章
|
6月前
|
Java 开发者
Java面试题:请解释内存泄漏的原因,并说明如何使用Thread类和ExecutorService实现多线程编程,请解释CountDownLatch和CyclicBarrier在并发编程中的用途和区别
Java面试题:请解释内存泄漏的原因,并说明如何使用Thread类和ExecutorService实现多线程编程,请解释CountDownLatch和CyclicBarrier在并发编程中的用途和区别
61 0
|
2月前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
86 2
|
6月前
|
存储 缓存 监控
Java面试题:在Java中,对象何时可以被垃圾回收?编程中,如何更好地做好垃圾回收处理?
Java面试题:在Java中,对象何时可以被垃圾回收?编程中,如何更好地做好垃圾回收处理?
79 0
|
7月前
|
算法 Java 调度
《面试专题-----经典高频面试题收集四》解锁 Java 面试的关键:深度解析并发编程进阶篇高频经典面试题(第四篇)
《面试专题-----经典高频面试题收集四》解锁 Java 面试的关键:深度解析并发编程进阶篇高频经典面试题(第四篇)
76 0
|
8月前
|
数据采集 JSON 数据挖掘
2024年利用Python查询IP地址_怎么查python文件中ip地址,2024年最新15个经典面试问题及答案英语
2024年利用Python查询IP地址_怎么查python文件中ip地址,2024年最新15个经典面试问题及答案英语
|
5月前
|
Java
【Java基础面试十三】、面向对象的三大特征是什么?
这篇文章介绍了面向对象程序设计的三大基本特征:封装、继承和多态,其中封装隐藏对象实现细节,继承实现软件复用,多态允许子类对象表现出不同的行为特征。
【Java基础面试十三】、面向对象的三大特征是什么?
|
5月前
|
Java
【Java基础面试二】、个Java文件里可以有多个类吗(不含内部类)?
这篇文章讨论了Java文件中类的定义规则,指出一个Java文件可以包含多个类(不包含内部类),但其中最多只能有一个public类,且如果有public类,它的名称必须与文件名一致。
|
5月前
|
Java
【Java基础面试三十五】、谈谈你对面向接口编程的理解
这篇文章讨论了面向接口编程的概念,强调接口作为一种规范和实现分离的设计哲学,可以降低程序模块间的耦合度,提高系统的可扩展性和可维护性。
|
5月前
|
人工智能 大数据 云计算
开启第二增长曲线!副业必备6000+课程、免费算力、编程实践助你飞速成长!
阿里云为高校学生提供全方位学习计划,含6000+免费精品课程与自测题,及免费在线编程练习。学生可免费获2.68亿小时算力,包括云服务器ECS、对象存储OSS等资源。同时,参与阿里云天池竞赛赢取高额奖金,并通过训练营获得实践经验和证书。借助这些资源,学生能紧跟信息化与AI潮流,为职业发展奠定坚实基础。
110 2
|
6月前
|
存储 关系型数据库 MySQL
面试题MySQL问题之FastDFS中的文件重复上传如何解决
面试题MySQL问题之FastDFS中的文件重复上传如何解决
65 1

热门文章

最新文章