Java面试复习笔记
虽然从大二学习了java语言,之后还进一步学习了android程序,但是几次面试,都被这样那样的一些设计基本知识的问题问倒,平时编程也没有想这方面的东西,所以理解的不够深刻。在马上进入面试的节奏时,复习记录学习笔记。
一,基本的语法回顾。
1,>>>:无符号右移运算符,低位移出,高位补0。它是相对于右移运算法>>来说的,>>运算符低位移出时,高位复制原高位值。(附<<<运算符不存在,并不是所有东西都符合对称。)
2,数组的维度:java语言允许多维数组低维度不同。
3,java中的int型都是4byte,它与平台无关。(不像C语言)。
二,类和对象基本概念。
1,继承:java不支持多继承(extends),但是可以通过实现(implement)多个接口来达到多继承的效果。
2,多态和重载:
多态:不同的对象响应同样的消息。例如:父类的start和子类的start方法,都叫start方法,但是实现的功能是不同的。通过子类对父类的方法的覆盖是实现多态的常见手段。
重载:方法的重载,是指同一个类中可以有名字相同的多个方法,但这些方法的参数必须不同(个数或类型不同)。例如 ADD(int a,int b)和ADD(float a,float b)。
3,static和final:
static:表示全局的,静态的(独立于对象,类加载的时候调用一次完成初始化)。
final:表示最终的,不可修改的。
三,java中的容器。
1,接口:
2,要应用实例还是要选取他们下面分支的一些类:LinkedList,Stack,Vector,ArrayList,HashSet,TreeSet,HashTable,HashMap。
四,多线程。
实现:通过实现runnable接口,或继承Thread类。
五,设计模式。
单例模式:通过定义类的成员变量为static初始一个对象,减少每次判断。