xzdjsnb 2022-04-14 17:18 采纳率: 92.2%
浏览 32
已结题

关于方法的重写,概念问题没理解。

为什么,private和static的方法不能被子类重写,但是都被继承了吗?子类能用吗?

  • 写回答

5条回答 默认 最新

  • CSDN专家-sinJack 2022-04-14 19:33
    关注

    private 修饰的,压根就不能被继承,何来重写。
    private 类型修饰的,是当前类所独有的,对外不可访问,不可继承。
    静态方法可以继承,但不能重写。如果父类中定义的静态方法在子类中重新定义,则父类中定义的静态方法将被隐藏。可以使用语法:parent class name。静态方法调用隐藏的静态方法。如果父类包含一个静态方法,而子类也包含一个具有相同返回类型、方法名称和参数列表的静态方法,那么子类实际上会在父类中隐藏具有相同名称的方法,而不是重写它。换句话说,父类和子类中实际上有两个不相关的方法,它们的行为不是多态的。因此,当使用指向子类对象的父类引用变量调用具有相同父子名称的静态方法时,将只调用父类的静态方法。
    总结:可以继承,但不能重写。只是藏起来了。静态方法属于类。只要输入类名,就可以引用它。所以没有重写。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 4月22日
  • 已采纳回答 4月14日
  • 创建了问题 4月14日