带参数的方法

时间:2015-05-17 14:39:25

标签: java variables methods parameters

在方法参数中声明变量和在方法中声明变量之间是否存在差异?两者都打印出相同的变量,但我认为存在差异。

4 个答案:

答案 0 :(得分:3)

通过将变量decalring作为方法参数,您可以将变量传递给方法

public void printIt(String text){
   System.out.println(text);
}

但是如果你在这样的方法中声明变量:

public void printIt(){
   String name;
   //you can't pass 
}

答案 1 :(得分:1)

如果你指的是我的想法,那么两者之间就有很大差异。以此为例:

public void printText() {
    System.out.println("Hello World");
}

这会打印出文本Hello World。现在看看这个方法:

printText("Hello World");
public void printText(String text) {
    System.out.println(text);
}

这两个示例中的后一个提供了更大的灵活性,因为您可以使用您喜欢的任何参数调用该方法,而前者每次只会打印Hello World。当然,根据您希望方法执行的操作,一个表单可能比另一个表单更合适,但方法参数允许重用。

答案 2 :(得分:0)

来自Javadoc

  

局部变量类似于对象如何在字段中存储其状态,a   方法通常会将其临时状态存储在局部变量中。该   声明局部变量的语法类似于声明字段   (例如,int count = 0;)。没有特殊的关键字指定   变量为本地变量;这种决心完全来自于   声明变量的位置 - 介于...之间   打开和关闭方法的大括号。因此,局部变量是   仅对声明它们的方法可见;他们不是   可以从班上其他人那里获得。

     

参数 ...回想一下main方法的签名是公共的   static void main(String[] args)。这里,args变量是   此方法的参数。要记住的重要一点是   参数始终归类为"variables"而不是"fields"

答案 3 :(得分:0)

还可以通过在Java中的方法中定义参数(我猜这同样适用于C ++),这会导致方法重载

请看下面提供的示例:

 public void createPerson(int ID, String name) {
      // do something here
  }

  public void createPerson(double height, String name) {
      // do something here
  }

  public void createPerson(double height, String name, boolean testIt) {
      // do something here
  }

所以它的帮助主要是改变方法的方法签名,这导致开发人员在3种方法中实现不同的方法体,但名称相同但方法不同签名。

进一步阅读Oracle Java中以下link中的方法。

希望这对您的问题有所帮助。