java在main方法中使用getter和setter
public class Testing {
public static void main(String[] args) {
String test=("test");
Scanner type = new Scanner(System.in);
String theTest = type.next();
switch(theTest) {
case "test":
int input = type.nextInt();
System.out.println("OK");
}
}
}
public class TestingB {
private int finalInput;
finalInput=input; // I want to give finalInput the value of input
}
好的,这段代码保存了用户在变量input
中的“test”之后放入的int
我的问题是如何获取包含int
值的这个变量input
,并在不同的类中更新另一个int
值
我试着使用setter和getter,但我不能在主方法中使用它,或者我误解了什么
# 1 楼答案
所以除了在静态上下文中运行的主方法之外。Java中的所有类都需要实例化,这意味着要从Java中的类(https://www.javatpoint.com/instantiation-in-java)创建一个新对象,这是使用new关键字完成的。就像这样:
现在,当对象被实例化时,我们不仅有一个类。我们有一个由这个类构成的对象。类定义了对象,但是我们可以从同一个类中创建多个对象。把这门课想象成一个食谱,它塑造了一道菜的形状
并不是说我们已经讨论了类和对象之间的区别,我们需要讨论您提到的getter和setter。在类中,值可以有getter和setter,它们允许其他对象设置或获取它们的值
int的getter可能如下所示:
设置值的setter如下所示:
在这种情况下,输入被称为字段,setter和getter可以设置或获取该字段。使用的“this”关键字指向对象。所以这个。输入是类顶部的字段,而输入只是方法签名中传递的参数
有几种方法可以将一个值解析为一个对象,您也可以将其作为构造函数中的一个参数来解析(比如:https://beginnersbook.com/2013/03/constructors-in-java/)。但这可能是另一个问题的主题
将getter和setter与您提供的代码结合在一起,我们最终得出以下结论:
我看得出你的语法有几个错误。switch语句没有正确关闭,并且在类中输入的方式也不起作用。我不知道你使用哪个编辑器或IDE,但我认为选择一个好的编辑器或IDE可以帮助你提高。如果你在学习,你可以考虑java或GRiBew。但即使是像IntelliJ这样更复杂的IDE也能帮到你。尽管习惯于看到彩色代码和一些基本的自动完成似乎很复杂,但这有助于保持反馈循环,避免你尝试新的东西,以了解它是否正确,并最终帮助减少学习曲线的陡峭度