java部分知识点
1.&和&&的区别
&:逻辑与(and),运算符两边的表达式均为true时,整个结果才为true。
&&:短路与,如果第一个表达式为false时,第二个表达式就不会计算了。
2.重载和重写的区别
重载(Overload):函数名相同,参数不同。可以改变返回值类型,参数的个数和类型。
重写(Override):和父类的的方法名称、参数完全相同。
3.sleep()和wait()有什么区别
sleep是线程被调用时,占着cpu休眠,其他线程不能占用cpu,os认为该线程正在工作,
不会让出系统资源,wait是进入等待池等待,让出系统资源,其他线程可以占用cpu。
sleep()和wait()方法的区别可从两个角度阐述:
1.cpu的抢占权;2.锁旗标是否释放
两者都会释放cpu的抢占权;
wait()方法执行完即可释放锁旗标,进入线程的等待队列;
sleep()执行完,不会释放,进入等待队列;
4.synchronized与java.util.concurrent.locks.Lock的异同
主要相同点:Lock能完成synchronized所实现的所有功能
主要不同点:Lock有比synchronized更精确的线程语义和更好的性能。synchronized
会自动释放锁,而Lock一定要求程序员手工释放,并且必须在finally从句中释放。
5.作用域public、private、protected 以及不写时的区别
private修饰的成员变量和函数只能在类本身和内部类中被访问。
protected 修饰的成员变量和函数能被类本身、子类及同一个包中的类访问。
public修饰的成员变量和函数可以被类、子类、同一个包中的类以及任意其他类访问。
访问权限 public>protected>private
6.抽象类和接口区别
抽象类:用abstract修饰,抽象类不能创建实例对象。抽象方法必须在子类中实现,
不能有抽象构造方法或者抽象静态方法。
接口:抽象类的一种特例,接口中的方法必须是抽象的。
两者的区别:
抽象类可以有构造方法,接口没有构造方法
抽象类可以有普通成员变量,接口没有普通成员变量。
抽象类可以有非抽象的普通方法,接口中的方法必须是抽象的。
抽象类中的抽象方法访问类型可以是public,protected,接口中抽象方法必须是public类型的。
抽象类可以包含静态方法,接口中不能包含静态方法。
一个类可以实现多个接口,但是只能继承一个抽象类。
接口中基本数据类型的数据成员,都默认为static和final,抽象类则不是(friendly)。
总结
总结:从大一学习C语言开始就知道计算机语言的学习是在一次又一次的编写代码中进步的,格式的记忆方法的运用离不开平时的练习。
因为时间花费的不够导致我的Java功底不牢固,期末的复习让我体会到了本身的不足,又因为准备不充分导致面试成绩的不理想。荒废
的学习只有通过其他时间去弥补。大二的上学期感觉比以往过的要快,临近期末的紧张才让我感到时间的紧迫。大学生活过去一半,人
生才刚刚开始。冷静下来想一想之前的学习态度必须要转变了,不管是为了什么这都是我必须要做的事。遵循内心的想法我是应该行动了。