为什么,private和static的方法不能被子类重写,但是都被继承了吗?子类能用吗?
private 修饰的,压根就不能被继承,何来重写。
private 类型修饰的,是当前类所独有的,对外不可访问,不可继承。
静态方法可以继承,但不能重写。如果父类中定义的静态方法在子类中重新定义,则父类中定义的静态方法将被隐藏。可以使用语法:parent class name。静态方法调用隐藏的静态方法。如果父类包含一个静态方法,而子类也包含一个具有相同返回类型、方法名称和参数列表的静态方法,那么子类实际上会在父类中隐藏具有相同名称的方法,而不是重写它。换句话说,父类和子类中实际上有两个不相关的方法,它们的行为不是多态的。因此,当使用指向子类对象的父类引用变量调用具有相同父子名称的静态方法时,将只调用父类的静态方法。
总结:可以继承,但不能重写。只是藏起来了。静态方法属于类。只要输入类名,就可以引用它。所以没有重写。
private修饰的方法说明只在本类中能被访问,子类继承的时候不继承该方法,也就没有重写这个能力。
static修饰的方法是静态方法,静态方法是所有类的实例共享的,不能被子类继承,也就不能被重写。
父类的方法能不能被子类使用,需要看方法是用public、protected、private哪一个修饰的,如果是private,子类就不能使用。
private 是私有的,只能在类的内部访问,不能继承;
static是共享的,直接通过类名(也可以通过对象名)访问,所以static成员变量不存在继承的说话。
简单的理解,private 、 static 属于类的。 子类(其他类)不能重写
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!