当前位置: 首页 > 面试题库 >

Java错误: 预期在受保护的接口内部

邢新
2023-03-14
问题内容

我正面临以下问题。当我遇到问题时,我试图编写一个有关Java策略的简单教程。编译器void do(int i);在界面上给我一个“
预期”错误:这是完整的类:

import java.util.*;
public class Data {
private List<Integer> ints;

  public Data( int[] a ) {
    ints = new LinkedList<>(); 
    for( int i : a ) ints.add( i );
 }

 protected static interface Strategy{
    void do(int i);
 }

 protected void loop( Strategy s ) {
        for( int i : ints ) {
            s.do( i );
        }
    }
 }

为什么会出现此错误?提前非常感谢您。


问题答案:

方法名称do是Java关键字(第3.9节,JLS),不能是方法名称。将您的方法名称更改为非关键字。

protected static interface Strategy{
    void doAction(int i);
}


 类似资料:
  • 问题内容: 为什么定义中的所有方法都是隐式的?为什么不允许使用方法? 问题答案: 因为接口应该表示“您可以在课堂外看到的东西”。添加非公共方法是没有意义的。

  • 问题内容: 我需要知道此代码的输出。但这不起作用。也许代码是错误的。我仍在学习如何使用Java,我尝试修复了几个小时,但还是没有运气。 这是代码: 谁能告诉我代码中有什么错误或遗漏吗? 问题答案: 例如: 另请注意,这可能无法打印您期望的结果。它实际上会打印: 为什么?构造函数总是链接到超类。

  • 问题内容: 有人可以给我解释一下/ 内部 类有什么区别吗? 我知道内部类应尽可能避免(如本文所述)。 但是据我所知,使用或修饰符之间没有区别。 看一下这个例子: … … 所有这些都可以编译,并且无论我声明 还是都有效。 我想念什么?请指出一个使用或有所不同的情况。 谢谢。 问题答案: 该访问修饰符将限制从比在同一个包及其子类之外的其他类的访问。 在所示的示例中,和和将具有相同的效果,因为它们位于同

  • 我正在为插入排序算法运行下面的java代码,结果出现了一个错误:, 错误:java:类,接口,或枚举预期 当我删除主函数的静态关键字时,编译器不会向我显示运行选项。这里有什么问题吗?

  • 6xx受保护 600 Series,Repliesregardingconfidentialityandintegrity 631 Integrityprotectedreply. 632 Confidentialityandintegrityprotectedreply. 633 Confidentialityprotectedreply.

  • 问题内容: 我已经对这个程序进行了数小时的故障排除,尝试了几种配置,但是没有运气。它是用Java编写的,有33个错误(从之前的50个降低) 源代码: 错误日志(在JCreator中编译): 我觉得这是一个基本错误,但似乎找不到。如果有什么不同,我正在使用JCreator进行编译,并且一切都已正确安装。 更新:我已修复所涉及的错误(类声明和不正确的导入语句(有人回去并删除了一些分号)) 工作代码: