【Java面试题系列第二篇】

抽象类和接口有什么区别?

  1、抽象类是一种继承关系,一个类只能有一次继承关系。而接口可以多实现;

  2、抽象类中可以有自己的数据成员,也可以有非抽象的成员方法;而在接口中只存在静态、不能被修改的数据成员(就是被static final 修饰的,但是在接口中一般不定义数据成员),接口中所有的方法都是抽象方法;

  3、实现抽象类和接口的类必须实现其中所有的方法;

  4、接口中定义的变量默认是被public static final修饰的,必须在定义的时候赋初值,而且定义之后不能被改变;接口中声明的方法默认是被public abstract修饰的;

 

String 和StringBuffer的区别?

  String类提供了值不可改变的字符串;而StringBuffer类提供的字符串可以进行修改,StringBuffer类定义的字符串拼接效率高于String类定义的字符串;

 

运行时异常与一般异常有何异同?

  相同点:两者都是异常,继承自Exception这个类;

  不同点:java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。

posted @ 2014-03-27 00:44  Bird伟  阅读(89)  评论(0编辑  收藏  举报