方法的继承
Java中子类继承父类方法时,有如下规则:

父类或超类中的public方法,在子类中也必须是public。
父类中的protected方法,在子类中必须是protected或public,不能为private。
父类中private的方法不能被继承。

属性的继承
另外,对于子类继承父类属性(成员变量)需注意:

从父类继承的成员变量,其访问控制符仍然相同。
子类定义与父类同名的成员变量,并没有覆盖父类的成员变量,而是两个成员变量共存;默认情况下,父类的成员变量是被隐藏的,如果你非要调用父类的成员变量可使用super关键字。
静态属性方法的继承
而对于静态属性(成员变量)与静态方法:

静态属性和静态方法可以被继承,但是不是被重写(override)而是被隐藏。这是因为静态方法和属性是属于类的,调用的时候直接通过类名.方法名完成对,不需要继承机制及可以调用。
静态属性、静态方法和非静态的属性都可以被继承和隐藏而不能被重写,因此不能实现多态,不能实现父类的引用可以指向不同子类的对象;非静态方法可以被继承和重写,因此可以实现多态。

爱咋写咋写

  1. #include <iostream>
  2. using namespace std;
  3. class father{
  4. public:
  5. int father ;
  6. };
  7. class son: public father{
  8. public:
  9. int father = 7;
  10. };
  11. int main()
  12. {
  13. son so ;
  14. father *fa = new father(so);
  15. cout << fa->father<< endl;
  16. }

版权声明:本文为Archerme原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/Archerme/p/10575132.html