可以在不同的方法上将变量命名为相同的名称吗?

Posted

技术标签:

【中文标题】可以在不同的方法上将变量命名为相同的名称吗?【英文标题】:Is it ok to name the variables the same name on different methods? 【发布时间】:2019-06-13 13:35:47 【问题描述】:

我是 java 新手,我有一个问题。 假设我有这个代码:

public class Number 
    private int[][] number;
    private int row;
    private int column;

    public Number(int[][] num) 
        this.row = num.length;
        this.column = num[0].length;
        this.number = new int[row][column];
        for (int i = 0; i < row; i++) 
            for (int j = 0; j < column; j++) 
                number[i][j] = num[i][j];
            
        
    

    public Number(int row, int column) 
        this.row = row;
        this.column = column;
        number = new int[row][column];
    

    public Number getNewNumber() 
        Number newNumber = new Number(row, column);
        for (int i = 0; i < row; i++) 
            newNumber.number[i] = number[i];
        
        return newNumber;
    

    public int getNewNumberSum() 
        Number newNumber = new Number(row, column);
        int sum = 0;
        for (int i = 0; i < row; i++) 
            for (int j = 0; j < column; j++) 
                newNumber.number[i][j] = number[i][j];
                sum += newNumber.number[i][j];
            
        
        return sum;
    

我的问题是关于语法的。可以在不同的方法上将对象的名称命名为相同的名称,而在不同的方法上将变量的名称命名为相同的名称吗?

谢谢

【问题讨论】:

代码格式化以获得更好的可读性。将来你会想自己做这件事 如有疑问,请尝试一下!如果有语法错误,你的编译器会通知你 【参考方案1】:

总之,是的。变量名只存在于它们定义的范围内,您可以在不同的范围内使用相同的名称。

【讨论】:

是的,我可以毫无问题地访问它们,但我的问题是:将变量命名为相同是错误的吗? @daniel 不,不是。 允许在不同的方法中对变量进行相同的命名,安全且完全正确。 知道了,我有另一个关于命名变量的问题。我有一个不同的类,我需要将矩阵顺时针旋转 90 度。在顺时针旋转 90 度后,你会给新矩阵的对象取什么名字?是名称:“顺时针矩阵”好还是更长的名称“旋转矩阵顺时针”更好?恐怕那些名字太长了..谢谢 @PranshuKhandal 好的。我的项目是针对学校学习的,所以我想教授们会希望看到一个变量名来代表变量所做的事情。还是谢谢你:)【参考方案2】:

由于它们是方法局部变量,并且您只能在该方法中访问它们,因此不会有任何问题。所以在不同的方法中可以有同名的变量,只要它们是方法本地的。

【讨论】:

以上是关于可以在不同的方法上将变量命名为相同的名称吗?的主要内容,如果未能解决你的问题,请参考以下文章

计划批处理文件不将文件重命名为使用 %date% 和 %time% 变量指定的名称

在 Linux 上将一组文件重命名为 001、002、...

引用资产目录中文件夹中的图像

如何将输出文件命名为与输入文件相同但视频转换后的扩展名不同? [重复]

如何在 Linux 上将所有文件夹和文件重命名为小写?

如何访问在 php 中命名为变量的对象属性?