关于java调用不同包私有方法的错误,目前才学java,希望大家细心解答一下。

问题遇到的现象和发生背景

在二个不同的包调用私有函数

问题相关代码,请勿粘贴截图

public class Text{
public static void main( String[] args)
{
//circ a1 = new circ(3);
//a1.area();
//a1.perimeter();

    rect a2 = new rect();
    a2.set_a(3);
    a2.set_b(4);

    //System.out.println("边长是"+a2.get_a()+" "+a2.get_b() );


    Class classType = a2.getClass();


    Method method = classType.getDeclareMethod("area",null);

    method.setAccessaible(true);

    method.invoke(a2,null);




    a2.perimeter();

    //tria a3 =new tria(3,4,5);
    //a3.area();
    //a3.perimeter();

    }

}

//下面是调用私有方法的另一个包里面的代码
package rect;

public class rect
{
private double a;
private double b;

public void set_a(double a)
{
if(a>0)
{
this.a=a;
}
else
System.out.println("长方形的长度输入不合法,长度是"+a);
return;
}

public void set_b(double b)
{
if(b>0)
{
this.b=b;
}
else
System.out.println("长方形的长度输入不合法,长度是"+b);
return;
}

public double get_a()
{
return this.a;
}

public double get_b()
{
return this.b;
}

/面积函数1:成功
public void area()
{
double s = this.a
this.b;
System.out.println("长方形的面积是"+s);
}
*/

private void area()
{
double s = this.a*this.b;
System.out.println("长方形的面积是"+s);
}

public    void perimeter()
    {
        double s = (this.a+this.b)*2;
        System.out.println("长方形的周长是"+s);
        }


}
运行结果及报错内容

java:24: 错误: 找不到符号
Method method = classType.getDeclareMethod("area",null);
^
符号: 方法 getDeclareMethod(String,<空值>)
位置: 类型为Class的变量 \Text.java:26: 错误: 找不到符号
method.setAccessaible(true);
^
符号: 方法 setAccessaible(boolean)
位置: 类型为Method的变量 method
\Text.java:28: 警告: 最后一个参数使用了不准确的变量类型的 varargs 方法的非 varargs 调用;
method.invoke(a2,null);
^
对于 varargs 调用, 应使用 Object
对于非 varargs 调用, 应使用 Object[], 这样也可以抑制此警告
2 个错误
1 个警告

我的解答思路和尝试过的方法
我想要达到的结果

img


area方法public调用是被注释掉了吗?private是私有方法,不能调用