反射调用方法时 报错无法通过编译

我在学习反射,想利用反射机制,调用A类里的test方法,但是会报错。请大佬帮我看看是什么问题,谢谢。
package day07;

import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;

public class StaticClassM {

    public static void main(String[] args) {

        try {

        Class clazz=A.class;
        Constructor con=clazz.getConstructor();
        Object obj=con.newInstance();
        Method test=clazz.getMethod("test",String.class);
        test.invoke(obj, "a");
        
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

class A{
    
        void test(String a){
        System.out.println("调用了test方法");

    }            
}


报错如下:

img

我希望能正常通过反射调用test方法,但是现在一直报错,可以帮我解答吗大佬们,谢谢。

直接用 这个

Object obj = class.newInstance(); //获取一个实例

    // test 方法要用 public 修饰
    public void test(String a){
        System.out.println("调用了test方法");
    }