MST

星途 面试题库

面试题:Java中抽象类成员变量与方法的访问规则

在Java中,抽象类包含成员变量和方法,阐述抽象类中成员变量的访问修饰符有哪些选择,以及抽象类中普通方法和抽象方法在访问控制方面有何异同。
45.7万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试

抽象类中成员变量的访问修饰符

  1. public:公共访问修饰符,被声明为public的成员变量可以在任何包中的任何类访问。
  2. protected:受保护访问修饰符,被声明为protected的成员变量可以被同一包中的类以及不同包中的子类访问。
  3. private:私有访问修饰符,被声明为private的成员变量只能在声明它的类内部访问,其他类无法直接访问。
  4. 默认(不写修饰符):默认访问修饰符,也称为包访问权限。被声明为默认访问权限的成员变量可以被同一包中的类访问,但不同包中的类无法访问。

抽象类中普通方法和抽象方法在访问控制方面的异同

  • 相同点
    • 普通方法和抽象方法都可以使用publicprotected以及默认访问修饰符(包访问权限)。这意味着它们都可以在不同的访问场景下被合理地控制访问范围,例如在不同包中的类或者子类中进行访问。
  • 不同点
    • 抽象方法:不能使用private访问修饰符。因为抽象方法需要子类去实现,如果是private,子类无法访问到该抽象方法也就无法实现它,失去了抽象方法存在的意义。
    • 普通方法:可以使用private访问修饰符。当普通方法被声明为private时,它只能在声明它的抽象类内部被访问,子类无法访问和重写。而抽象方法不能声明为private,且必须在子类中被实现(除非子类也是抽象类)。