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) 编辑 收藏 举报