java无法访问子类中的受保护方法
我无法访问子类(在同一个包中)中的受保护方法
我使用的是SpringJMS API,DefaultMessageListenerContainer类
在我的代码中,我有一个DefaultMessageListenerContainer类的实例,我试图在该对象上调用getBeanName()方法,但在eclipse中它说
“类型AbstractJMSListingContainer中的getBeanName()方法不可见”
根据javadoc,这个getBeanName()方法是一个在超类“AbstractJMSlientingContainer”中定义的受保护方法
根据我的理解,我们应该能够访问子类中受保护的方法。 我错过什么了吗
附加示例java代码段
# 1 楼答案
您发布的代码片段没有从子类中访问
getBeanName()
。它正在尝试从客户端代码访问它。您必须定义自己的子类以公开一个公共方法来访问它:请注意,您不能简单地重写
getBeanName()
,因为它被声明为final