Java基础面试题及答案(21-25)

21、Java中的final关键字有什么作用?
答:final关键字可以用来修饰类、方法和变量。如果用final修饰类,则该类不能被继承;如果用final修饰方法,则该方法不能被子类重写;如果用final修饰变量,则该变量成为常量,一旦被赋值后就不能再被修改。

22、Java中的静态方法和实例方法有什么区别?
答:静态方法是属于类的,可以直接通过类名调用;而实例方法是属于对象的,必须先创建对象才能调用。

23、Java中的抽象类和接口有什么区别?
答:抽象类可以包含抽象方法和非抽象方法,可以有构造方法和成员变量,不能被实例化,只能被继承;接口只能包含常量和抽象方法,不能有构造方法和成员变量,不能被实例化,只能被实现。

24、Java中的重载和重写有什么区别?
答:重载是指在一个类中定义多个同名方法,但参数类型或个数不同,可以返回不同类型的值,主要用于提高代码的复用性;重写是指在子类中重写父类的方法,方法名、参数类型和个数必须与父类方法一致,返回类型必须是父类方法返回类型的子类型,主要用于实现多态。

25、Java中的反射机制是什么?
答:反射机制是Java中的一种动态机制,可以在程序运行时获取一个类的信息,包括类的构造方法、成员变量、方法等,并能够调用类的方法和修改成员变量的值,主要用于实现框架和插件式开发。