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、
还在整理中,如有错误,望指正。。。
来源:https://www.cnblogs.com/caomusheng/p/12401632.html