java - Java 中带参数的方法

标签 java methods parameter-passing

有人能解释一下为什么这是有效的吗?

我在 Eclipse 中有 2 个类。 名为“Car”的类包含以下代码。

public class Car {
    public void printOut(String variable1){
        System.out.println("Hello " +variable1);
    }
}

还有另一个类,也就是我的'main'所在的地方,叫做“House”,里面的代码是

import java.util.Scanner;

class House {
    public static void main(String args[]){
        Scanner input = new Scanner(System.in);
        Car carObject = new Car();

        System.out.println("Enter name here: ");
        String variable2 = input.nextLine();

        carObject.printOut(variable2);
    }
}

当我运行代码时,它会工作,它会写“在此处输入名称”,当我输入它时,它会继续说“你好,输入的名称””

我的问题是,'variable1' 和 'variable2' 是否彼此有任何关系,除了它们都是 String 类之外。

因为我对代码编译正确的原因感到困惑。

对我来说,看起来变量 1 与变量 2 没有相关性,即使它们都是 String 类,看起来它们也不会相互交互,并且变量 1 没有在“House”中使用"类,但它仍然知道编译我输入的任何内容。 就好像'variable1'被'variable2'替换并且打印出variable2包含的任何内容。

最佳答案

Car 类中的方法定义是您使用它时的原型(prototype)。您是否曾经用“黑匣子”教过数学函数?你输入一个数字,然后得到输出。因此,您输入 3,如果函数是 f(x) = Xx2,则输出将是 6。在您调用该方法之前,var2 与 var1 完全不同。然而,在该方法中,传递了 var2 并替换了您在该方法中使用的所有 var1。别担心,我在开始Java的时候也没有得到这个

关于java - Java 中带参数的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12995855/

相关文章:

java - 理解 Java while 循环

java - 配置的 JUnit 测试用例

java - 我如何知道 BufferedReader 的 readAheadLimit?

java - 将参数传递给不同的类时出现问题

c++ - 在 C++ 中作为参数传递给函数时,const string & str 和 string const & str 有什么区别

java - 来自 MongoDB BSON 的 Jackson ObjectMapper

c++ - 这里怎么调用InsertionSort方法呢?

c++ - 如何将成员函数传递给函数指针?

c++ - c++ 中是否有一个方法/函数,后来的常量参数基于第一个参数?

c - 如何给Linux系统调用传递参数?