Java面试复习

爱⌒轻易说出口 提交于 2020-03-03 13:37:39

1、面向对象和面向过程的区别

   面向过程:性能高,消耗的资源少,一般用于嵌入式开发(单片机)

   面向过程: 易扩展、维护、服用,有继承、封装、多态性质,可以降低系统的耦合,性能比面向过程低

 

2、Java语言的特点

  面向对象、与平台无关,安全可靠,支持多线程和网络编程,编译与解释并行

 

3、什么是JVM,  JDK, JRE?

  JVM是Java虚拟机,运行Java字节码的,JVM对不同系统开发不同的虚拟机,目的使用相同的字节码,JVM再将字节码转换成二进制的机器码

  字节码就是后缀为.class的文件,因为字节码运行在虚拟机上,无关处理器和操作系统,所以一次编译可以在不同操作系统上运行

  

  JDK是Java Development Kit,简单理解就是开发者用的,包含了JRE,还有编译器,能够创建和编译程序

  JRE是Java Run environmen Java运行时环境,包含JVM和Java类库,和一些其它基础组件,但不能开发Java程序

 

4、Oracle JDK 与 Open JDK的区别

  Oracle JDK每三年发布一次,而Open JDK每三个月发布一次

  Oracle JDK并不完全开源,而Open JDK完全开源

  Oracle JDK比Open JDK更加稳定,性能更好,商业软件还是选择稳定的比较好

 

5、 Java和C++的区别

  Java不可以用指针访问内存程序更安全

  Java类只能单继承,而C++类可以多继承,但Java可以通过接口实现多继承

  Java有垃圾处理机制,不需要手动释放内存

 

6、什么是 Java 程序的主类 应用程序和小程序的主类有何不同

  主类是指包含main()方法的类,一个程序只能有一个主类,继承自系统的JApplet或Applet的子类

  小程序的主类一定要是public修饰的,而应用程序的主类没有指定

 

7、   字符型常量和字符串常量的区别?

  字符型常量是单引号括起来的单个字符,字符串常量是双引号括起来的一串字符

  字符型常量至少占两个字节,字符串常量至少占一个字节,(结束符)

 

8、构造器 (Constructor)是否能被重写

  构造方法不能被继承,所以不能被重写,只能重载(一个类中有多个构造方法)

 

9、重载和重写的区别

  重载: 在同一个类中,方法名相同,参数类型、 顺序、 个数、 方法修饰符、修饰符可以不同

  重写: 在父子类中,方法名和参数列表必须相同,返回参数要小于等于父类的范围,抛出异常范围要小于等于父类,不能重写父类的私有方法

 

10、面向对象的三大特征(封装、继承、多态)

  1)封装: 对象属性私有化,对外只提供访问属性的方法

  2}继承: 在已定义类的基础上,创建新的类,可以添加一些新的属性,和方法,也可以用父类的功能,达到代码复用的效果

      子类可以对父类进行扩展

      子类拥有父类对象所有的属性和方法(包括私有属性和私有方法),但是父类中的私有属性和方法子类是无法访问,只是拥有

  3)多态: 调用方法时,在编译期并不确定调用的是哪个方法,只能在程序运行期间确定

      实现多态方式: 继承(多个子类对同一方法的重写)和接口实现接口并覆盖接口中同一方法)

11、

 

 

还在整理中,如有错误,望指正。。。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!