zoukankan      html  css  js  c++  java
  • PMD

    PMD错误

    Avoid autogenerated methods to access private fields and methods of inner / outer classes
    

    样例

    public class Test {
    
        public static void main(final String[] args) {
            //code
        }
    
        public void test(){
            Executors.newSingleThreadExecutor().execute(new Thread() {
                @Override
                public void run() {
                    final int a = getNum();
                    System.out.println(a);
                }
            });
        }
    
        private int getNum() {
            return 0;
        }
    }
    

    报错原因

    在匿名内部类的方法里去调用外部类的私有方法或变量就会报这个PMD错误。

    解决方法

    可以将匿名内部类的方法里调用到的外部类的私有方法/变量改成protected。以样例来举例,即将getNum()的权限改为protected:

    protected int getNum() {
        return 0;
    }
    
  • 相关阅读:
    例7-13
    例7-11
    例7-1
    例6-5
    例6-3
    例6-2
    例6-1
    例5-9
    例5-8
    例5-7
  • 原文地址:https://www.cnblogs.com/yulinlewis/p/9527278.html
Copyright © 2011-2022 走看看