面试-java基础知识
来源:互联网 发布:tensorflow 显卡要求 编辑:程序博客网 时间:2024/06/15 00:32
面向对象和面向过程
- 面向过程
就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用时一次调用即可。例如一辆汽车,如何启动汽车考虑的是如何起步,加速,刹车,熄火。 - 面向对象
把构成问题的事物分解成对象,建立对象的目的不是为了完成步骤,而是为了描述某个事物在这个解决问题的步骤中的行为。
一辆车用面向对象的思想去实现,汽车的发动机,变速箱等都是汽车属性,做任何操作只要告诉汽车即可。
面向对象的三大特性
- 封装性
是面向对象的核心思想,将对象的属性和行为封装起来,而将对象的属性和行为封装起来的载体就是类,类通常对客户隐藏其实现细节,这就是封装的思想。 - 继承性
当一个类的属性与行为均与现有类相似,属于现有类的一种时,这个类可以定义为现有类的子类。如果多个类具有相同的属性和行为。我们可以抽取出共性内容定义成分类,这时在创建相似的类时只要继承父类即可。 - 多态性
多态的特征表现出多种形态,具有多种实现方式。或者多太是具有表现多种形态的能力的特征。同一个实现的接口,使用不同的实例而执行不同的操作。例如定义一个Person,对于登录系统,他可以分为管理人员,客户,系统用户。Person p = new Manager(); Person p2 = new Customer();
抽象与封装的区别
- 抽象
从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征。 - 封装
将抽象得到的数据和行为相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成”类”,数据和函数都是类的成员。
抽象是更通用的术语,它的实现由子类来完成,如List的具体子类有ArrayList,LinkedList。
封装是对象封装它自己的状态,并对外部将其隐藏,该类以外的其他类必须通过它的方法和状态进行交互,但不能直接访问类的状态。
接口与抽象类有何区别
public interface InterfaceTest { int x=0; static void Test(){ System.out.println(); } void Test2();}abstract class TestClass{ private int x; abstract void Test(); protected void Test2(){ }}
接口中的内容都必须声明为public,实现方法时则需要加上static。抽象类只是声明方法时,需要加上abstract。
一个类只能继承一个抽象类,却可以实现多个接口。
抽象类往往用来表示在对问题领域进行分析,设计中得出的抽象概念,是对一类看上去不同,但是本质相同的具体概念的抽象。
即对类的抽象,而接口是对行为的抽象。
抽象类是对整个类的属性和行为进行抽象,而接口是对类局部(行为)进行抽象。
例如,飞机和鸟是不同的事物,他们一个共性就是都会飞,我们就可以设计一个接口Fly,包含fly()方法,让飞机(Airplane)和鸟(Bird)分别根据自己的需要去实现接口方法。而不同的飞机类型只要继承Airplane即可。
继承是一个“是不是”的关系,接口实现则是“有没有”的关系,即是否有这个功能。
阅读全文
1 0
- 【Java面试】---Java基础知识
- java面试基础知识
- java面试基础知识
- java基础知识(面试)
- java笔试面试基础知识
- JAVA面试基础知识
- JAVA程序员面试基础知识
- java程序员面试基础知识
- 【面试】-Java基础知识
- java面试基础知识
- Java面试基础知识提纲
- 【Java面试】基础知识篇
- java面试基础知识#多线程
- java基础知识面试要点
- java工程师基础知识面试
- java面试基础知识
- java面试资料-基础知识
- 面试-java基础知识
- Angularjs $http获取json
- swift functions
- spring Web项目为外部项目提供接口 (cxf方式)
- UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现
- 错题整理
- 面试-java基础知识
- 高效IO流
- redis
- 适配iOS11
- 单例模式(SingleTon)
- 简述梯度下降法在神经网络中的作用
- 第一范式,第二范式,第三范式
- 用递归的方法去遍历指定目录中所有的指定文件
- TreeSet学习的个人记录