【问题标题】:JAVA: return methods and setting parametersJAVA:返回方法和设置参数
【发布时间】:2012-08-27 10:32:56
【问题描述】:

我是 java 新手,返回值是如何工作的?我需要返回 GLabel 的宽度,以便在其他方法中使用它

private double createLabel(String text, int locX, int locY){
    double widthOfLabel = labelText.getWidth();
    return widthOfLabel;
}

(我已经删除了 un=important 部分)但这应该返回标签的宽度。

如何在其他方法中使用它?

private void  getWidthofLabel(){
    double name = ?????????
}

我尝试了一些不同的东西,但它们似乎都只返回null。当我得到createLabel 方法的返回值时,还有一件事,我是否必须设置它的参数(string,int,int)?我不想这样,但调试器似乎强迫我设置它们。

【问题讨论】:

    标签: java methods parameters return


    【解决方案1】:

    如果你想得到createLabel 的结果,你需要类似的东西:

    double name = createLabel(text, locX, locY);
    

    必须提供参数,否则无法编译代码。如果你不需要它们,你可以创建一个不带参数的重载:

    private double createLabel(){
          double widthOfLabel = labelText.getWidth();
          return widthOfLabel;
    }
    

    但此时我不确定您的代码中发生了什么。 :D

    【讨论】:

      【解决方案2】:

      返回调用将像这样完成:

      double name =  createLabel(text, locX, locY);
      

      如果你定义如下方法:

      private double createLabel(String text, int locX, int locY){
      }
      

      您需要传递一个String 和两个int。如果您想要一个不需要传递参数的变体;重载方法如:

      private double createLabel(){
      }
      

      你可以这样称呼:

      double name =  createLabel();
      

      【讨论】:

        【解决方案3】:

        你需要调用函数:

        double name = createLabel(text,locX,lockY);
        

        其中 text 是字符串,locX 和 lockY 是整数。
        没有参数的函数是不可能调用的,除非有另一个同名的函数(称为重载方法)。

        【讨论】:

        • 同名但参数不同的函数称为overload,而不是override
        【解决方案4】:

        你可以这样调用

        private void  getWidthofLabel(){
           double name = createLabel("label", 3, 5);
        }
        

        【讨论】:

          猜你喜欢
          • 2023-04-01
          • 1970-01-01
          • 2015-12-14
          • 1970-01-01
          • 2010-09-29
          • 1970-01-01
          • 2019-08-30
          • 2012-12-21
          • 2017-06-05
          相关资源
          最近更新 更多