1、构造方法能继承吗?构造方法能重载吗?
构造方法不能继承,但可以被子类所调用。构造方法可以重载。
2、final、finally、finalize的区别是什么?
final可以修饰类、方法、变量。修饰类,表示该类不能被继承。修饰方法,表示该方法不能被子类重写。修饰变量表示该变量是常量,内容不能更改。
finally是异常处理时,无论是否有异常都会执行的代码块。一般作资源回收。
finalize是Object中定义的方法。在垃圾回收该对象之前,会执行该方法。
3、访问修饰符有哪些?各自作用范围是什么?
private(私有) 只能在本类中访问
默认 本包中可以访问
protected(受保护类) 本包和不同包的子类可以访问
public (公有) 所有的类都可访问。
4、什么是内部类?内部类class文件是怎样命名的?
内部类就是在一个类中再定义一个类。内部类相当于外部类的属性,可以有public 、private、protected、static。它的产生必须依赖于外部类的对象。
内部类class文件命名 外部类名$内部类名.class
5、什么是多态?多态有什么特点?
多态是指可以用父类变量指向子类对象,可以用接口变量指向实现类对象。
多态的特点:相同的行为不同的表现方式,可以动态绑定子类的行为。
6、面向对象的特征有哪些?
继承、封装、多态、抽象
7、什么是抽象类?什么是抽象方法?定义抽象类的关键字是什么?
如果一个方法在定义时,只有方法定义,没有方法实现,这个方法叫做抽象方法,拥有抽象方法的类叫抽象类。抽象类是不能直接实例化的。定义抽象类的关键字是abstract
8、接口如何定义?实现接口用什么关键字?一个类实现接口必须做什么?
接口定义用interface。
实现接口用implements
一个类实现接口,必须实现接口中所有的抽象方法,否则该类只能是抽象类。
9、接口中定义的方法修饰符是什么?接口中定义的变量修饰符是什么?
接口中方法修饰符是 public abstract
接口中变量修饰符是 public static final
10、抽象类和接口的区别是什么?
1、 抽象类可以有方法的定义(抽象方法),也可以有方法的实现(具体方法)。而接口中只能有方法的定义。
2、 抽象类中的变量是属性,而接口中的变量是public static final
3、 抽象类只能被单根继承,而接口可以多实现。
11、异常的API结构是怎样的?Error和Exception有什么区别?
Throwable父类,下面两个子类,Error(错误,能捕获,不能处理)和Exception(异常,能捕获,能处理)
12、异常的执行顺序怎样?如果在try块中有return,finally会执行吗?
先执行try块,顺序执行,如果有异常,转去catch块执行,同时中止try块中其他代码。无