面试题答案
一键面试抽象类中成员变量的访问修饰符
- public:公共访问修饰符,被声明为
public
的成员变量可以在任何包中的任何类访问。 - protected:受保护访问修饰符,被声明为
protected
的成员变量可以被同一包中的类以及不同包中的子类访问。 - private:私有访问修饰符,被声明为
private
的成员变量只能在声明它的类内部访问,其他类无法直接访问。 - 默认(不写修饰符):默认访问修饰符,也称为包访问权限。被声明为默认访问权限的成员变量可以被同一包中的类访问,但不同包中的类无法访问。
抽象类中普通方法和抽象方法在访问控制方面的异同
- 相同点
- 普通方法和抽象方法都可以使用
public
、protected
以及默认访问修饰符(包访问权限)。这意味着它们都可以在不同的访问场景下被合理地控制访问范围,例如在不同包中的类或者子类中进行访问。
- 普通方法和抽象方法都可以使用
- 不同点
- 抽象方法:不能使用
private
访问修饰符。因为抽象方法需要子类去实现,如果是private
,子类无法访问到该抽象方法也就无法实现它,失去了抽象方法存在的意义。 - 普通方法:可以使用
private
访问修饰符。当普通方法被声明为private
时,它只能在声明它的抽象类内部被访问,子类无法访问和重写。而抽象方法不能声明为private
,且必须在子类中被实现(除非子类也是抽象类)。
- 抽象方法:不能使用