【问题标题】:How do I fix this "Cannot reduce the visibility of the inherited method" error如何解决此“无法降低继承方法的可见性”错误
【发布时间】:2013-10-28 20:21:33
【问题描述】:

我正在用processing(一种java)编写一个简单的草图,并使用this 代码来扫描文件夹中的jpgs。我希望能够将它用作一个函数,所以我可以这样使用它:

String[] images;

void setup() {
  images = scanForJpgs();
}


String[] scanForJpgs() {
  // set target folder
  java.io.File folder = new java.io.File(dataPath(""));

  // set filter (which returns true if file's extension is .jpg)
  java.io.FilenameFilter jpgFilter = new java.io.FilenameFilter() {
    boolean accept(File dir, String name) {
      return name.toLowerCase().endsWith(".jpg");
    }
  };

  // list files in target folder, passing the filter as parameter
  String[] filenames = folder.list(jpgFilter);

  return filenames;
}

但它会引发“无法降低从 FilenameFilter 继承的方法的可见性”错误。我该如何解决这个问题,以便我可以像使用函数一样使用它?

【问题讨论】:

    标签: java processing


    【解决方案1】:

    声明方法public而不是package-private:

    public boolean accept(File dir, String name) {
    

    阅读:Controlling Access to Members of a Class

    【讨论】:

    • 啊,做到了。谢谢!只要计时器允许,我就会接受你的回答。
    • 没问题,很高兴为您提供帮助!
    猜你喜欢
    • 2018-11-20
    • 1970-01-01
    • 2019-01-27
    • 1970-01-01
    • 1970-01-01
    • 2012-02-20
    • 2014-04-14
    • 2012-06-17
    • 2015-01-13
    相关资源
    最近更新 更多