ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
将一个类从父类中继承过来的属性和方法“重新定义”——此时相当于子类不想用父类的该属性或方法,而是想要定义 #### 基本要求: 访问控制权限: 子类覆盖的属性或方法的访问控制权限,不能“低于”父类的被覆盖的属性或方法的访问控制权限: 具体来说: 父类: public 子类:只能是public 父类: protected 子类:可以说protected和public 父类: private 子类:不能覆盖!既父类的私有成员,不存在被子类覆盖的可能。 方法的参数形式: 子类覆盖父类的同名方法的时候,参数要求跟父类保持一致; 虽然父类的私有方法不能被重写,但是,如果子类重新定义了一个同名的方法的时候,方法参数的形式(参数的个数)还是需要和父类保持一致! public:公共的,当前类内,继承链类内和类外都可以被访问到 protected:受保护的,当前类内以及继承链上的类内可以被访问到 private:私有的,只有当前类内可以被访问到 特例: 构造方法重写的时候参数可以不一致 子类可以继承父类的私有成员,但是却无法使用! #### 注意 虽然父类的私有属性不能被覆盖,但子类却可以定义自己的跟父类同名的属性; 虽然父类的私有方法不能被覆盖,但子类也不能定义自己的同名方法;