点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)(重要:我将其发布为问题,但我已...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)(重要:我将其发布为问题,但我已...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
(重要:我将其发布为问题,但我已经找到了解决方案,所以我也将其发布)
我在这里有一个错误(此代码是从ABAP文档中的接口,但我更改了接口的顺序):
接口intf1。 方法meth1。 结束界面。 接口intf2。 接口intf1。 方法meth2。 结束界面。 类别cls定义摘要。 公共部分。 接口intf2抽象方法meth2。 接口intf1抽象方法meth1。 " <===此处出现语法错误 ENDCLASS。
我收到此语法错误:
在先前的INTERFACES语句中,方法" METH1"被声明为非抽象
为什么? 有什么解决方案?
(请注意,在2011年也提出了相同的问题,并由 Suhas Saha ;您可能更喜欢他的答案,从技术上来讲,这还是一样的,但是我添加了有关ABAP 7.52的注释)
关于语法错误:实际上,以下语句使meth2抽象化,但也使其他方法具体化,尤其是intf1〜meth1
所以下一条语句
与上一个将intf1〜meth1具体化的矛盾。
这就是语法错误的原因。
解决方案:要使程序编译,请切换两个INTERFACES语句:
这里引人注目的是这样的陈述
"保留intf〜meth1摘要"。 因此,根据先前的INTERFACES语句,如果已经在先前的INTERFACES语句中明确定义了抽象,则不会一直使intf1〜meth1变得具体。
---------------------------
新功能:请注意,从ABAP 7.52中可以避免此问题因为现在可以在INTERFACES内部使用〜(波浪号),所以您只能定义一个INTERFACES语句,如下所示(摘录自界面-抽象方法):
完整代码:
欢呼
一周热门 更多>