Java—获取类内部方法的值
我试图将一个类中的方法的值输入到主类中Java—获取类内部方法的值,java,Java,我试图将一个类中的方法的值输入到主类中 import java.util.*; public class Auslesen { String a; private int s; double u; public class Scannen { Scanner scanner = new Scanner(System.in); public int Methode() { s =
import java.util.*;
public class Auslesen
{
String a;
private int s;
double u;
public class Scannen
{
Scanner scanner = new Scanner(System.in);
public int Methode()
{
s = scanner.nextInt();
return s;
}
}
}
代码应该允许我使用控制台为变量“a”、“s”和“u”各赋予一个值,然后将值返回到主类
import java.util.*;
public class Auslesen
{
String a;
private int s;
double u;
public class Scannen
{
Scanner scanner = new Scanner(System.in);
public int Methode()
{
s = scanner.nextInt();
return s;
}
}
}
这是我的主要课程:
public class Start
{
public static void main(String[] args)
{
Auslesen auslesen = new Auslesen();
//System.out.println(auslesen);
Auslesen.Scannen scannen = auslesen.new Scannen();
//System.out.println(scannen);
Auslesen.Scannen.Methode methode = scannen.new Methode();
System.out.println(methode);
//my approach which didnt worked out...
}
}
Methode
是方法而不是类。您不会使用new
创建它,也不会为此创建它。方法是在类中定义的,您只需调用它。例如
System.out.println(scannen.Methode());
并删除该行:
Auslesen.Scannen.Methode methode = scannen.new Methode();
另外,还要坚持Java命名约定:类名以大写的方法开头,变量名以小写开头。首先,为什么要在另一个类中声明一个类?如果您只是想将一个值从一个类返回到另一个类,那么您可以执行以下操作-
String a;
private int s;
double u;
Scanner scanner = new Scanner(System.in);
public int Methode()
{
s = scanner.nextInt();
return s;
}
现在在main方法中,只需调用-
Auslesen a=new Auslesen();
System.out.println("The entered number is: "+a.Methode());
为什么你认为你可以调用像
new[Methodname]”这样的方法?你知道new`是什么意思吗?只需调用这些方法并存储结果。例如:s=Methode();注意,我想很快你就会遇到一个不同的问题……注意变量的类型,注意你只定义了一个方法签名……考虑一下(public int Methode)…从这个意义上讲,还要注意Java不支持返回类型重载。另外,内部类的原因是什么?如果您真的需要将其包装在一个类中,那么创建一个静态类Auslesen,其中包含静态帮助程序“Methode”。显然,在这种情况下Methode不会设置变量,只需返回到t他扩展了…这取决于OPs任务中是否需要这样做。我的解释是,值将驻留在主类中,并给出OPs注释:“将值返回主类。”