java基础相关知识:
1、面向对象的特征:
a、继承:继承是一种联结类的层次模型。对象的一个新类可以从现有的类中派生,这个过程称为继承。
b、封装:把数据和过程包围起来,对数据的访问只能通过定义的界面(即通过一个受保护的接口来访问)。
c、多态性:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
d、抽象:就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。
2、String是基本数据类型吗?
不是, 基本数据类型包括:byte, int char ,long, float, double,boolean,short
引用数据类型包括:类,数组,接口等(简单来说就是除了基本数据类型之外的所有类型)
所以说string是引用数据类型。
3、int和Integer 的区别。
int为java的原始数据类型,而Integer是java为int提供的封装类。java为每个原始类型都提供啦封装类。
int默认值为0,integer默认值为null
4、String 和StringBuffer的区别
string的长度是不可变的,而stringbuffer的长度是可变的。如果经常对内容进行修改,那么使用stringbuffer,最后可以转换成string,使用tostring()方法即可。
5、&和&&的区别
&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。
6、hashmap和hashtable的区别:
hashmap允许存在空值,HashMap是Hashtable轻量级的实现(属于非线程安全的),他们都完成啦map接口,hashmap是不同步的,hashtable是同步的 、
7、final、finally、finalize区别。
final用于声明属性,方法和类。分别表示属性不变性,方法不可覆盖,类不可继承。
finally异常处理结构的一部分,表示总是执行
finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的
此方法,可以覆盖此方法提供的垃圾收集时的其他资源回收,例如关闭文件等。
8、sleep()和wait()有什么区别:
sleep是线程类(Thread)的方法,导致次线程暂停执行指定的时间,给执行机会给其他线程,但是监控状态依然保持,到时会自动恢复。调用sleep不会释放对象锁。
wait是object类的方法,只有针对此对象发出notify方法或者notifyall后本线程才会进入运行状态。
9、数组有没有length()这个方法?string有没有这个方法?
数组没有这个方法,但是又这个属性,string有这个方法。
10、List、Set、Map是否继承自collection接口?
list、set是 Map不是
11、char型变量中能否存储一个中文。
能够,因为java以unicode编码,一个char占16个字节,所以放一个中文是没问题的。