java和c++复试面试题
Java与C++的区别:
(1)JAVA中没有显式的指针,但是C++中有
(2)JAVA只能支持单继承,但是C++支持多继承(一个类可以继承多个类)
(3)JAVA中有自动的垃圾回收机制,用完一个内存之后无需自己释放,但是C++需要自己delete或者free,所以可能出现内存泄漏
面向对象的三个/四个特征?
封装,继承,多态,抽象。
什么是类?
类是对象的模子,具有相同属性和方法的一组对象的集合,类是不存在的,是用来描述对象信息
什么是多态?
多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)实现多态的技术称为:动态绑定(dynamic binding),是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。多态的作用:消除类型之间的耦合关系。
多态的好处
1.允许不同类对象对同一消息做出响应,即同一消息可以根据发送对象的不同而采用多种不同的行为方式(发送消息就是函数调用)。即父类型的引用指向子类型的对象。主要有以下优点:
2.可替换性:多态对已存在代码具有可替换性
3.可扩充性:增加新的子类不影响已经存在的类结构
4.更加灵活
面向对象和面向过程的区别?
面向过程
优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源。比如,单片机、嵌入式开发、Linux/Unix 等一般采用面向过程开发,性能是最重要的因素。
缺点:没有面向对象易维护、易复用、易扩展。
面向对象
优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护。
缺点:性能比面向过程低。
C++的特点是什么?
封装,继承,多态。支持面向对象和面向过程的开发。
C++的异常处理机制?
抛出异常和捕捉异常进行处理。(实际开发)
c和c++,java的区别?
c是纯过程,c++是对象加过程,java是纯面向对象的
Java语言有哪些特点
1、简单易学、有丰富的类库
2、面向对象(Java最重要的特性,让程序耦合度更低,内聚性更高)
3、与平台无关性(JVM是Java跨平台使用的根本)
4、健壮和安全的语言
5、支持多线程
6、面向网络的语言
JDK、JRE、JVM 有什么区别?
JDK:(Java Development Kit)即java的开发与运行环境,他除了包含完整的JRE之外,还包含了供开发者使用的工具包。
JRE:(Java Runtime Environment)即Java运行环境,非开发者只需要安装 JRE来运行程序, 它包含java运行的所需的类库+JVM(java虚拟机)。
JVM: (Java Virtual Machine) 即Java虚拟机, 当我们运行一个程序时,JVM 负责将字节码转换为特定机器代码,JVM 提供了内存管理/垃圾回收和安全机制等。这种独立于硬件和操作系统,正是 java 程序可以一次编写多处执行的原因。
三者的关系:
作为程序员,就必须安装JDK,因为其中包含Java开发工具包,同时也包含了JRE。
作为使用者,运行已经开发好的Java程序,只需要安装JRE。
JVM和JRE的关系:JRE包含了JVM,JVM是运行Java程序的核心虚拟机,同时也包含了Java程序所需的环境支持
总结:JDK>JRE>JVM
字符流与字节流的区别?
1、字节流操作的基本单元为字节;字符流操作的基本单元为Unicode码元。
2、字节流默认不使用缓冲区;字符流使用缓冲区。
3、字节流通常用于处理二进制数据,实际上它可以处理任意类型的数据,但它不支持直接写入或读取Unicode码元;
字符流通常处理文本数据,它支持写入及读取Unicode码元。
普通类和抽象类有哪些区别?(java)
抽象类不能被实例化;
抽象类可以有抽象方法,只需申明,无须实现;
有抽象方法的类一定是抽象类;
抽象类的子类必须实现抽象类中的所有抽象方法,否则子类仍然是抽象类;
抽象方法不能声明为静态、不能被static、final修饰。
接口和抽象类有什么区别?(java)
(1)接口
接口使用interface修饰;
接口不能实例化;
类可以实现多个接口;
①java8之前,接口中的方法都是抽象方法,省略了public abstract。②java8之后;接口中可以定义静态方法,静态方法必须有方法体,普通方法没有方法体,需要被实现;
(2)抽象类
抽象类使用abstract修饰;
抽象类不能被实例化;
抽象类只能单继承;
抽象类中可以包含抽象方法和非抽象方法,非抽象方法需要有方法体;
如果一个类继承了抽象类,①如果实现了所有的抽象方法,子类可以不是抽象类;②如果没有实现所有的抽象方法,子类仍然是抽象类。
Java的内存划分
Java内存划分:栈,堆,代码区,数据区
栈:主要存储变量(局部变量或基本数据类型的变量),内容使用完毕立即清除(不会对内容赋初值)
堆:主要存储对象,使用完毕后在某个时间进行回收(对存储的内容进行赋初值)
代码区:存放类和方法
数据区:常量池和静态变量
访问权限(java)
1.public 公共的,所有人都可访问
2.Private 私有的,只能通过类中成员函数访问,类外不允许访问。
3.Protect 保护的,这种权限是为继承而设计的,保护所修饰的成员,对所有子类是可访问的,但只对同包的类是可访问的,对外包的非子类是不可以访问。
4.Default 包访问权限,在自己包内可以随意访问。
final关键字及其作用
1.被final修饰的变量不可以被改变,又被称为常量(修饰字符时,自负的地址不能改变)
2.被final修饰的方法不可以被重写
3.被final修饰的类不可以被继承
总结就是不可变
C++和JAVA
解释对编译
指针
内存安全
多重继承
数据类型
自动内存管理
操作符重载
预处理功能
缺省参数函数
字符串
goto 语句
类型转换
应用场景:
java和c++复试面试题相关推荐
- java能应聘哪些职位_应聘java专员职位的面试题
面试对于一些刁钻问题的回答技巧事关你是否适合留下来的关键.那关于java专员的面试题有哪些呢?下面是学习啦小编为你整理的应聘java专员职位的一些面试题,希望对你有帮助. java专员的面试题 1.I ...
- java的异常机制面试题(转)
java的异常机制面试题(转) 参考文章: (1)java的异常机制面试题(转) (2)https://www.cnblogs.com/ffaiss/p/11434639.html 备忘一下.
- Java每天5道面试题,跟我走,offer有!(八)
2019独角兽企业重金招聘Python工程师标准>>> 76.XML技术的作用? XML技术用于数据存储. 信息配置. 数据交换三方面. 可以将数据存储在XML中, 通过节点. 元素 ...
- 经典java程序员的面试题及答案
今天动力节点java培训机构小编为大家分享"经典java程序员的面试题及答案",希望通过此文能够帮助到正在找工作或是即将毕业的"你",下面就随小编一起看看经典j ...
- 大学生java考试题库6_《JAVA程序设计》期末考试试题_(六)
<JAVA程序设计>期末考试试题 (六) 一.填空题 1.定义类的保留字是( class ),定义接口的保留字是( interface ). 2.Socket通常也称为 ( 套接字 ),用 ...
- java ibatis 获取执行的sql_小程序官宣+JAVA 三大框架基础面试题
每天给你诚意满满的干货 虽然每天都会写代码,但编程语言里有太多知识点,许多知识长时间不用就会忘记,在我们要去参加面试或是其它一些场景下,需要做些题来查缺补漏.我在搜索过程中发现没有太好的刷题小程序,所 ...
- Java 集合容器篇面试题(上)-王者笔记《收藏版》
前期推荐阅读: Java基础知识学习总结(上) Java 基础知识学习总结(下) 大学生一个暑假学会5个神仙赚钱技能 | 你学会了几个? 毕设/私活/大佬必备,一个挣钱的开源前后端分离脚手架 目录 一 ...
- 2011年华科计算机考研复试机试题真题
很好的资料哦,更多资料请访问王道论坛:www.cskaoyan.com 2011年华科计算机考研复试机试题真题:
- 收藏!Java 500 道核心面试题全解析
每个技术人都有个大厂梦,我觉得这很正常,并不是饭后的谈资而是每个技术人的追求.像阿里.腾讯.美团.字节跳动.京东等等的技术氛围与技术规范度还是要明显优于一些创业型公司/小公司,如果说能够在这样的公司锻 ...
最新文章
- 沈阳生态所在保护性耕作促进农业可持续发展方面取得新进展
- java 3维_java 二维/三维/多维数组
- 专属程序员的编程日历,终于来了 | 10月书讯
- DB2 9 利用启示(733 测验)认证指南,第 7 部分: Java 编程(5)
- unity 实现手机振动_Unity 手机震动插件Vibration
- cdoj844-程序设计竞赛 (线段树的区间最大连续和)【线段树】
- spring整合activeMQ遇到异常:Error creating bean with name 'connectionFactory'
- img标签中alt和title属性的正确使用
- 面向过程与面向对象代码实例对比
- [html] 回到页首
- 常用 Jacobi 行列式 | 重积分变量替换
- Java随机数的使用
- The field file exceeds its maximum permitted size of 1048576 bytes
- php 模拟蜘蛛,PHP实现使用CURL模拟百度蜘蛛进行采集
- 使用VMware虚拟机通过Panabit抓取爱快虚拟机PPPoE报文
- 博客怎么写出好的文章吸引读者,只有7个基本的写作技巧
- 现代计算机图形学笔记(六)——布林-冯反射模型、图形管线、纹理映射
- 《深度学习之美》第3章
- linux中c语言kbhit函数用法,检测按键(Linux中kbhit()函数的实现)
- 如何远程登陆Linux服务器