为什么可以一直用area,不报错

package com.atguigu.exer;
public class Exer {
    public static void main(String[] arge) {
          Exer test = new Exer();
          test.m = 10;
          test.n = 8;
          int area = test.area();
          System.out.println("矩形面积为: " + area);
    }
    
    int m;
    int n;
    
    public int area() {
        for(int i = 0;i < m;i++) {
            for(int j = 0;j < n;j++) {
                System.out.print("*");
            }
            System.out.println();
        }
        int area = m*n;
        return area;
    }
}

因为定义的area都是局部变量,所以不会产生命名冲突。
一个定义在main方法中,一个定义在area方法中,互不影响。
如果定义在同一个方法中,或者其中一个定义为成员变量(类中),那就会出现变量已经在冲突。

什么意思 作用域有不一样 为啥不可以?

为什么不可以 就是把area移到上面可能会美观一点

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632