抽象类中的抽象方法应该有啥访问修饰符?

Posted

技术标签:

【中文标题】抽象类中的抽象方法应该有啥访问修饰符?【英文标题】:What access modifier should abstract methods have in an abstract class?抽象类中的抽象方法应该有什么访问修饰符? 【发布时间】:2018-06-26 00:35:50 【问题描述】:

我在抽象类中有一些方法, 我想为重新定义的抽象方法放置什么修饰符,私有的,公共的或受保护的。 我应该保护吗?

【问题讨论】:

你可以把蚂蚁的东西放在私有之外,现在这取决于你的要求。 显然是您需要的。什么叫“重新定义的抽象方法”? @HB 我想在派生类中覆盖它们 @АнтонСорокин 我知道抽象方法总是用于覆盖,但从你想调用的地方。它可以在包内,也可以在包外。但在大多数情况下,它应该是公开的。 你想使用子类外部的重写方法吗(也属于其他包)?如果是的话,public 将是一个更好的选择。否则受保护就可以了 【参考方案1】:

如果你想在子类中覆盖它,你不能将方法定义为私有的。如果您想使其可覆盖但限制访问,请使用受保护的,否则请使用公共。

【讨论】:

以上是关于抽象类中的抽象方法应该有啥访问修饰符?的主要内容,如果未能解决你的问题,请参考以下文章

java中抽象类与接口中方法访问修饰符问题 (

抽象类中属性的访问修饰符

Java中的访问修饰符

方法有那些访问控制修饰符,分别是啥作用

this/super/static/final/匿名对象/继承/抽象类/访问权限修饰符

Java之非访问修饰符