我在下面为我的问题创建了一个示例类。
public class testClass {
public void testMethod()
{
int testInteger = 5;
}
String testString = "Hello World" + testInteger;
}
我在方法和字符串中有一个整数,如上所示没有方法。我希望字符串获取方法内部的整数,但它不能。有人可以帮助解释为什么会这样,并告诉我如何使字符串成为整数。谢谢。
答案 0 :(得分:0)
让我们分解您的代码以查看正在发生的事情
你有这样的功能
public void testMethod()
{
int testInteger = 5;
}
如您所见,返回类型为void
,因此不会返回到任何被称为此方法的地方。
你的testMethod后面有这一行
String testString = "Hello World" + testInteger;
首先看起来很奇怪?
因为你没有任何主要方法所以我不知道你的代码如何运行
但想象一下,你有这样的主要方法
public static void main(String[] args){
String testString = "Hello World" + testInteger;
}
第二,你甚至没有调用你的testMethod来在你的main方法中使用它 的问题强>
<强> 1 即可。你根本没有打电话给你
testMethod
<强> 2 即可。即使你打电话,它也无济于事,因为你的返回类型是
void
第3 即可。你需要main方法才能运行你的代码
补救措施
<强> 1 即可。将您的返回类型更改为int
你的功能签名:
public int testMethod()
<强> 2 即可。如果你想使用你的方法,你必须在你的主要方法中使用它,如
例如:
String testString = "Hello World" + testMethod();
第3 即可。不要忘记使用您的主要方法,因为您的代码必须运行
您的主要方法签名是
public static void main(String[] args)
答案 1 :(得分:0)
例如:
public class testClass {
public int testMethod()
{
int testInteger = 5;
return testInteger;
}
String testString = "Hello World" + testMethod();
}
答案 2 :(得分:0)
整数是方法内的变量;它具有方法的范围,这意味着它不能从方法外部访问。 String是一个字段;它具有类的范围,因此可以从类中的任何位置访问,包括在方法内部。
答案 3 :(得分:0)
它是基本的Java ... testInteger在方法中定义,因此在方法中不可用。你可以让方法返回一个int(作为你的testInteger)并调用该方法。
答案 4 :(得分:0)
如果没有返回,则无法从其他方法访问本地变量。
public int testMethod()
{
int testInteger = 5;
return testInteger;
}
然后你可以通过调用方法来获取值(假设你在引用instance
中有一个类的实例),
String testString = "Hello World" + instance.testMethod();
来自The Java Tutorials: Variables,
局部变量类似于对象如何在字段中存储其状态,方法通常会将其临时状态存储在局部变量中。声明局部变量的语法类似于声明字段(例如,int count = 0;)。没有特殊的关键字将变量指定为本地变量;该决定完全来自声明变量的位置 - 它位于方法的开始和结束括号之间。因此,局部变量只对声明它们的方法可见;他们无法从班上其他人那里获得。