chenchang12

导航

java继承的修饰符

Java继承规则中的访问控制

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

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

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

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

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

C++继承规则中的访问控制

爱咋写咋写

#include <iostream>

using namespace std;

class father{
public:
    int father ;

};
class son: public father{
    public:
   int  father = 7;
};
int main()
{

    son so ;
    father *fa  = new father(so);
    cout << fa->father<< endl;
}

posted on 2019-03-21 22:17  chenchang12  阅读(1322)  评论(0编辑  收藏  举报