Java基础
面向对象的特征:
封装:
继承:
继承给对象提供了从基类获取字段和方法的能力 ;
多态:
多态是编程语言给不同的底层数据类型做相同的接口展示的一种能力
Java的基本数据类型:
byte(位)、short(短整数)、int(整数)、long(长整数)、float(单精度)、double(双精度)、char(字符)和boolean(布尔值);
length方法:
数组没有length()方法,有length 的属性。String 有length()方法。JavaScript中,获得字符串的长度是通过length属性得到的 ;
String和StringBuilder、StringBuffer的区别 :
String和StringBuffer/StringBuilder,它们可以储存和操作字符串。 StringBuffer/StringBuilder类表示的字符串对象可以直接进行修改 ,
其中String是只读字符串,也就意味着String引用的字符串内容是不能被改变的。
重载(Overload)和重写(Override)的区别 :
重载是实现编译时的多态性;
重写是实现运行时多态性;
抽象类(abstract class)和接口(interface)有什么异同 :
抽象类和接口都不能被实例化,但可以定义抽象类和接口类型的引用,一个类如果继承了某一个抽象类或者实现了某个接口都需要对其中的抽象方法全部进行实现,
抽象类中可以定义城阳变量,而接口中定义的成员变量实际上都是常量,有抽象方法的类必须被声明为抽象类,而抽象类未必要有抽象方法;
列出一些你常见的运行时异常 :
空指针异常、下标越界异常、类转换异常;
List、Map、Set三个接口存取元素时,各有什么特点 :
List:有序、可重复;
Set:无序、博不可重复;
Map:以键值对的形式进行储存、键不可重复;
Java中有几种类型的流 :
字节流和字符流 ;
Java虚拟机:
什么是Java虚拟机:
Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件 ;
JDK和JRE的区别是什么 :
Java运行时环境(JRE)是将要执行Java程序的Java虚拟机。它同时也包含了执行applet需要的浏览器插件。Java开发工具包(JDK)是完整的Java软件开发包,包含了JRE,编译器和其他的工具(比如:JavaDoc,Java调试器),可以让开发者开发、编译、执行Java应用程序 ;
进程和线程的区别是什么 :
进程是执行着的应用程序,而线程是进程内部的一个执行序列。一个进程可以有多个线程。线程又叫做轻量级进程