Java基础面试题及答案(6-10)

6、什么是Java中的访问修饰符?它们分别有什么作用?
答:Java中的访问修饰符用于控制类、接口、方法或变量的访问权限。Java中有四种访问修饰符:public、protected、default、private。它们分别表示的意义为:

  • public:可以被任意类访问。
  • protected:可以被同一包内的类以及不同包中的子类访问。
  • default:可以被同一包内的类访问,但在不同包中不可以访问。
  • private:只能被本类访问,其它类均不能访问。

7、什么是Java中的多态?如何实现多态?
答:Java中的多态指的是同一个方法可以被不同类的对象调用,并且可以产生不同的行为。实现多态需要满足两个条件:继承和重写(即子类重写父类的方法)。

8、什么是Java中的抽象类?它和接口有什么区别?
答:Java中的抽象类是一个不能被实例化的类,其主要作用是为子类提供一些公共的属性和方法。它通过使用abstract关键字来定义。与接口相比,抽象类可以有方法的实现,也可以有实例变量,而接口只能定义常量和抽象方法。一个类只能继承一个抽象类,但可以实现多个接口。

9、Java中的final关键字有什么作用?
答:Java中的final关键字可以用来修饰类、方法和变量。具体作用如下:

  • final修饰的类不能被继承。
  • final修饰的方法不能被子类重写。
  • final修饰的变量是一个常量,只能被赋值一次,赋值后不能被修改。

10、Java中的String类是如何实现不可变性的?
答:Java中的String类是通过将字符串值存储在一个字符数组中,并且不提供可以修改字符数组的方法来实现不可变性的。这意味着一旦字符串对象被创建,它的值就不能被修改。在需要修改字符串值的情况下,Java会创建一个新的字符串对象来代替原来的字符串对象。