Java 无法将导入的方法解析为方法
我想使用重力常数,它是在另一个文件中定义的,通过乘以人的质量来计算人的体重。遗憾的是,重力常数“无法解析为一种类型”。 此处定义了重力常数:Java 无法将导入的方法解析为方法,java,import,Java,Import,我想使用重力常数,它是在另一个文件中定义的,通过乘以人的质量来计算人的体重。遗憾的是,重力常数“无法解析为一种类型”。 此处定义了重力常数: 包信息1类; 公共课物理{ 静态浮点getGravity(){ 浮子重力=9.80665F; 返回重力; } } 我已经使用 导入info1class.Physics; ,但我的方法 private float getWeight(){ 返回(质量*(新getGravity()); } 还是不行。 我曾读到,刷新或重新启动Eclpise通常可以解决此
包信息1类;
公共课物理{
静态浮点getGravity(){
浮子重力=9.80665F;
返回重力;
}
}
我已经使用
导入info1class.Physics;
,但我的方法
private float getWeight(){
返回(质量*(新getGravity());
}
还是不行。
我曾读到,刷新或重新启动Eclpise通常可以解决此错误,但这两种方法对我都不起作用。您正在使用一种不允许的方法调用
new
。即使它是私有的,默认情况下该成员也是包私有的,因此该包之外的其他类将看不到它
我是这样做的:
package info1Classes;
public class Physics {
public static final float GRAVITY = 9.80665F;
}
然后在你的另一节课上,你可以用这个来得到重力的值:
Physics.GRAVITY;
getGravity()
是包私有的(因为您没有在方法的声明中指定访问修饰符),也就是说,它对于不在同一个包中的任何类都不可见。您也不会使用new
关键字调用非构造函数的方法。当然,我假设您的重力值在整个程序中不会发生变化,就像将此模拟移动到另一个星球的情况一样。如果是这样的话,一种方法会更合适。谢谢!因为我被迫使用重力常数,所以我不能完全接受你的解决方案,但我发现我只需要在导入之前添加一个“物理”。如果有人关心的话,更改后的代码如下:java私有float getWeight(){return(mass*Physics.getGravity());}