华为一面:
1、Java建立一个数组和C建立一个数组的区别:
Java中的一切都是对象,数组也是对象,在声明的时候不能加数量,在初始化的时候加
C在声明的时候加不加数量都可以。
C中的数组变量所需空间是分配在栈上的,所以在定义的时候必须指定大小,Java中的变量是在
后期分配的。new的内存是在堆上的。
2、Java和C++的区别
1)Java是解释型语言程序源码经过Java编译器编译成字节码,然后由JVM解释执行,C++是编
译型语言,Java执行速度比C++慢,但可以跨平台执行,C++不能
2)Java是纯面向对象语言,所有代码都在类中实现,不存在全局变量或全局函数,C++面向过
程和面向对象,可以有全局变量和全局函数
3)Java没有指针,程序安全
4)Java不支持多继承,引入接口,可同时实现多个接口,接口具有多态性,与C++多继承类似
5)C++语言需要程序员去管理对内存的分配,Java提供了垃圾回收器来实现垃圾的自动回收,
C++有析构函数。
3、面向对象和面向过程的区别
面向过程是一种是事件为中心的编程思想,就是分析出解决问题所需的步骤,然后用函数把这写
步骤实现,并按顺序调用。
面向对象是以对象为中心的编程思想。
面向对象:用线性的思维,与面向过程相辅相成,在软件开发过程中宏观上,用面向对象来把握
事物间复杂的关系,分析系统。微观上,仍然使用面向过程。