java - 如何使用整数参数(路径占位符)定义方法?
问题描述
前言
我想说两点:
- 我不知道如何用几句话来表达这个问题。所以我在搜索时找不到我要找的东西(在stackoverflow上)。本质上,如果这是重复的,我很抱歉。
- 我只用了一个月左右的时间一直在编写 Java。因此,如果我问了一个明显的问题,我深表歉意。
问题
我想有一个方法,其参数包含(路径)一个integer。
这种方法是如何在 Java 代码中实现的?
限制
该参数应该是通用的。因此,当有多个整数变量时,正确的一个可以用作方法的参数,当它被调用时(在运行时)。
我的想法是伪代码
这是我想要的想法(在伪代码中)。这个想法基本上由3部分组成:
- 带参数的方法
- 持有整数值的变量
- 具有具体值的方法调用
(一个方法
. 以下是我的方法的定义,该方法使用名为typehey
的泛型参数命名:pathToAnyInteger
genericPathToInt
class main {
method hey(genericPathToInt pathToAnyInteger) {
System.out.println(pathToAnyInteger);
}
}
(B) 多个整数变量
以下是多个 整数变量(例如A
和B
; 每个都持有一个整数):
class A {
myInt = 2;
}
class B {
myInt = 8;
}
(C) 运行时的方法调用
以下是我在程序运行时执行的主要方法。hey
因此,在运行时,使用 (2) 每个持有不同整数值的变量调用 (1) 先前定义的方法:
class declare {
main() {
hey("hey " + A.myInt);
hey("hey " + B.myInt);
}
}
预期产出
//output
hey 2
hey 8
个人言论
再次,如果这是重复的,对不起,如果这是一个愚蠢的问题,对不起。如果您需要进一步澄清,我愿意提供帮助。任何帮助表示赞赏。嘿,如果你在回答中不友善(主要是侮辱,但也暗示语气),即使你有解决方案,也不要回答。不需要你的帮助。谢谢!:)
解决方案
Java 中的整数是原始类型,按值传递。所以你并没有真正将“路径”传递给整数,而是传递实际值。另一方面,对象是通过引用传递的。
您的伪代码只需稍作修改即可在 Java 中运行。该代码假定所有类都在同一个包中,否则您需要将所有内容公开(或其他访问修饰符,具体取决于用例)。
// First letter of a class name should be uppercase
class MainClass {
// the method takes one parameter of type integer, who we will call inputInteger
// (method-scoped only)
static void hey(int inputInteger) {
System.out.println("hey " + inputInteger);
}
}
class A {
// instance variable
int myInt = 2;
}
class B {
// instance variable
int myInt = 8;
}
class Declare {
public static void main() {
// Instantiate instances of A and B classes
A aObject = new A();
B bObject = new B();
// call the static method
MainClass.hey(aObject.myInt);
MainClass.hey(bObject.myInt);
}
}
//output
hey 2
hey 8
此代码首先定义了 MainClass 类,其中包含您的方法hey。我将方法设为静态,以便能够将其称为MainClass.hey()
. 如果它不是静态的,则需要在 Declare 类中实例化 MainClass 对象,然后调用该对象的方法。例如:
...
MainClass mainClassObject = new MainClass();
mainClassObject.hey(aObject.myInt);
...
推荐阅读
- javascript - React:根据条件显示不同的组件
- cloudflare - 为什么 Cloudflare 会导致间歇性加载问题?尤其是当我浏览得太快时
- java - 如何在 AWS Lambda 转换后将事件放回 Kinesis Firehose?
- python - 如何在熊猫中创建嵌套数据框
- c - 使用 mkdir 过程 AS400/IBMi 在 IFS 中创建目录
- javascript - 添加离子日期时间前缀和后缀
- ios - 首选项:iPhone/iPad 上快捷方式应用中 Instagram 设置的根 URL
- c - 内核 C++ 中的鼠标驱动程序,如何创建和使用它?
- java - 是否有在 2 个线程(1 个读取器 - 1 个写入器)之间同步访问 Map 的最佳方法
- signalr - 带有 asp.net 核心集线器的 SignalR 服务