1. &和&&的区别?
答:(1)都具有“逻辑与”的功能;当运算符两边的表达式结果都为true时,结果为true,否则反之。
(2)&&具有“短路”的功能;即如果第一个表达式为false,则不再计算第二个表达式的值。
(3)&可用作位移运算符。
2. switch语句能否作用在byte上?能否作用在long上?能否作用在String上?
答:在switch(expr)中,expr只能是整数表达书或枚举常量(更大字体);整数表达式包括int和Integer,而byte、short、char都能隐式转换成int,所以switch语句能否作用在byte、short和char上;不能作用在long和String上。
3. 使用final关键字修饰一个变量时,是引用不能变还是引用的对象不能变?
答:被final修饰的变量,变量的引用不能变,变量所指对象的内容是可以改变的。
4. “==”和equals方法的区别?
答:(1)“==”操作符是用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同;
(2)equals用于比较两个独立对象的内容是否相同;
注意:如果一个类没用重写equals方法,那么它将继承Objcet类的equals方法,而这个默认的equals方法则使用“==”操作符进行比较。下面是编程实现部分代码:
5. 静态变量和实例变量的区别?
答:(1)静态变量前要加static关键字,而实例变量不加;
(2)静态变量属于类,也称为类变量,可以直接使用类名来调用;实例变量属于对象的属性,只有创建了实例对象,实例变量才会被分配空间,也就是说,实例变量必须创建对象后才可以通过这个对象来使用。
6. 是否看从static方法中调用一个非static方法?
答:不能。
7. Integer和int的区别?
答:Integer是int的包装类,Integer的默认值是null,而int的默认值是0.
8.请说出public,private,protected以及不写时的区别。
答:不写时,作用域是friendly。其四个作用域的范围如下表:
9. overload和override的区别?
答:(1)overload(重载)是指同一类中有多个名称相同的方法,但是这些方法的参数列表各不相同;
(2)override(重写、覆盖)是指子类中的某方法和父类中某方法一模一样,即方法名相同,参数列表也相同。
注意:子类中覆盖的方法的访问权限只能比父类的大,如果父类的方法是private类型,那么子类则不存在覆盖的限制,相当于子类中增加了一个全新的方法。
10. 构造方法能不能被重载?能不能被重写?
答:构造方法不能被重写,可以被重载。
11. 抽象类和接口的区别?
答:(1)抽象类中可以有构造方法和静态方法,且都是非抽象的,接口中不能有构造方法和静态方法;
(2)抽象类中可以有普通成员变量,接口中没有普通成员变量;
(3)抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的;
(4)抽象类中的抽象方法访问类型可以是public和protected,接口中的抽象方法访问类型只能是public,默认为public abstract;
(5)抽象类和接口都能包含静态成员变量,抽象类中的静态成员变量的访问类型可以是任意的,而接口中的变量只能是public static final类型,并且是默认的。
12. String和StringBuffer的区别?
答:两者都能存储和操作字符串,String不可变,并且每次操作都创建一个新的对象;StringBuffer可改变,始终只在内存中创建一个对象。
13. 数组有没有length()方法?String有没有length()方法?
答:数组没有length()方法,只有length属性,String有length()方法。
14. final,finally,finalize的区别?
答:(1)final用于声明变量、方法和类,表示变量不可变,方法不能重写,类不能被继承;
(2)finallly是异常处理语句结构的一部分,表示总是执行;
(3)finalize是Object类的一个方法,用于资源回收。
15. 写出5中常见的Runtime exception。
答:ClassCastException(类转换异常)
IndexOutOfBoundsException(数组越界)
NullPointerException(空指针)
ArrayStoreException(数据存储异常,操作数组时类型不一致)
还有IO操作的BufferOverflowException异常
16. 有几种方法实现线程?线程同步用什么关键字修饰?
答:实现线程有两种方法:第一,继承Thread类;第二,实现Runnable接口。线程同步用synchronize修饰。
方法一:
方法二:
17. 线程的各种状态已经状态之间的关系。
答:如图所示: