Java基础知识总结(二)
&和&&的区别:
按位与:a&b是把a和b都转换成二进制数后逐位进行与的运算。若两数字的某位都为1,则该位的运算结果才为1。运算的最终结果是数字。
逻辑与:a&&b就是当且仅当a和b都为true时,其结果才为true。最终结果是true或者false。
按位与(&)其实也可以用作逻辑与,不过它与&&比不足之处是没有短路功能。所谓短路,就是a&&b,若经过运算a是false,则不再浪费时间去判断b了。
参考链接:http://blog.csdn.net/sundenskyqq/article/details/27788617
final,finally,finalize的区别:
final:表终态,防止拓展。修饰字段表示字段为常量;修饰方法表示该方法不能被重写和重载;修饰类表示该类不能被继承,不能被拓展。
finally:Java异常处理的语句,表示总是执行的部分。
finalize:是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的该方法。
sleep()和wait()有什么区别:
override和overload的区别:
override:重写/覆盖。重写是父类与子类多态性的一种表现。如果子类某方法与其父类有相同的名称和参数,只是方法体不同,我们说该方法被重写了。
子类的对象调用此方法时,将调用子类中的方法,因为父类中的此方法被子类中的“覆盖”了。
overload:重载。重载是一个类中多态性的一种表现。如果同一个类中有多个同名的方法,但他们的参数不同,返回值也有可能不同,那我们说该方法被重载了。
EJB与JAVA BEAN的区别:
数组有没有length()这个方法? String有没有length()这个方法?
数组没有length()方法,只有length属性;
String有length()方法。
String