Java 在不同的类中使用变量
我有两个独立的类,一个是我实际计算一个正方形的面积,如下面的第一位,另一个是我显示结果,但另一个是我显示的结果给了我一个错误,说它找不到“computeSquareArea”符号。为什么它要这样做而不在班级之间转移Java 在不同的类中使用变量,java,class,Java,Class,我有两个独立的类,一个是我实际计算一个正方形的面积,如下面的第一位,另一个是我显示结果,但另一个是我显示的结果给了我一个错误,说它找不到“computeSquareArea”符号。为什么它要这样做而不在班级之间转移 public double computeSquareArea(double length) { return length * length; } double sqArea = computeSquareArea(length); System.out.println
public double computeSquareArea(double length)
{
return length * length;
}
double sqArea = computeSquareArea(length);
System.out.println("Area of the square is " + sqArea);
非静态方法属于对象的实例,而静态方法属于类 在代码中,
computeSquareArea()
是一种非静态方法。这意味着为了调用它,必须在它所在的类的实例上调用它
如果您希望能够在不需要实例的情况下调用该方法,那么可以使用静态方法。要使方法成为静态的,请将public-double-computeSquareDistance()
更改为public-static-double-computeSquareDistance()
您可以阅读更多关于此的信息非静态方法属于对象的实例,而静态方法属于类 在代码中,
computeSquareArea()
是一种非静态方法。这意味着为了调用它,必须在它所在的类的实例上调用它
如果您希望能够在不需要实例的情况下调用该方法,那么可以使用静态方法。要使方法成为静态的,请将public-double-computeSquareDistance()
更改为public-static-double-computeSquareDistance()
您可以阅读更多关于这方面的内容,正如我所看到的,您的方法
computeSquareArea(双倍长度)
不是静态的。因此,我想您需要intantation
拥有方法computeSquareArea(双倍长度)
的类。例如,假设您的类名称为SomeClass
SomeClass someClass = new SomeClass();
double sqArea = someClass.computeSquareArea(length); // This would be the method of your newly created Instance of SomeClass
System.out.println("Area of the square is " + sqArea);
正如我所看到的,您的方法
computeSquareArea(双倍长度)
不是静态的。因此,我想您需要intantation
拥有方法computeSquareArea(双倍长度)
的类。例如,假设您的类名称为SomeClass
SomeClass someClass = new SomeClass();
double sqArea = someClass.computeSquareArea(length); // This would be the method of your newly created Instance of SomeClass
System.out.println("Area of the square is " + sqArea);
用我猜的对象调用你的函数。显示你的整个类。用我猜的对象调用你的函数。显示你的整个类。即使在添加静态im后,我也有同样的问题。我必须在另一个类中构造一个对象才能在第一个类中使用它吗?比如说,
computeSquareArea()
在一个名为Foo的类中。为了从另一个类调用该方法,应该调用Foo.computeSquareArea()
。如果这对你不起作用,试着发布实际的代码,这样我们可以进一步帮助你。这个问题不是静态与非静态的。您需要适当地调用该方法。如果是静态的,则适当的方法是className.methodName()
。如果不是静态的,则适当的方法是instanceRef.methodName()
。如果只调用methodName()
,则必须在调用发生的同一类中定义该方法。即使在添加具有相同问题的静态im之后也是如此。我必须在另一个类中构造一个对象才能在第一个类中使用它吗?比如说,computeSquareArea()
在一个名为Foo的类中。为了从另一个类调用该方法,应该调用Foo.computeSquareArea()
。如果这对你不起作用,试着发布实际的代码,这样我们可以进一步帮助你。这个问题不是静态与非静态的。您需要适当地调用该方法。如果是静态的,则适当的方法是className.methodName()
。如果不是静态的,则适当的方法是instanceRef.methodName()
。如果只调用methodName()
,则必须在调用发生的同一类中定义该方法。