Java 为什么可以';我不能在类的构造函数中调用静态方法吗?
显然我的Java暂停时间太长了 我有以下课程:Java 为什么可以';我不能在类的构造函数中调用静态方法吗?,java,methods,static,constructor,undefined,Java,Methods,Static,Constructor,Undefined,显然我的Java暂停时间太长了 我有以下课程: public class TimeLine { public static final String TIME_LINE_DATE_FORMAT = "dd.MM.yyyy"; public TimeLine(Context context, LinearLayout layout) { this.context = context; this.layout = layout;
public class TimeLine {
public static final String TIME_LINE_DATE_FORMAT = "dd.MM.yyyy";
public TimeLine(Context context, LinearLayout layout)
{
this.context = context;
this.layout = layout;
}
// some methods and stuff
public static Date getDateFromString(String dateString)
{
SimpleDateFormat s = new SimpleDateFormat(TIME_LINE_DATE_FORMAT);
try {
return s.parse(dateString);
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
}
我经常使用字符串到日期的解析,这就是为什么我只想使用这个函数一次&静态
我尝试这样访问它:
public class TrackedValue {
private double value;
private String unit;
private Date date;
public TrackedValue()
{
}
public TrackedValue(Date date, String unit, double value)
{
this.date = date;
this.unit = unit;
this.value = value;
}
public TrackedValue(String dateString, String unit, double value)
{
this.date = TimeLine.getDateFromString(dateString); //Here's the error
this.unit = unit;
this.value = value;
}
// some getters and setters here
}
这给我带来了一个错误:
类型timeline的方法getDateFromString(String)未定义
呃。。。为什么?看看你的导入部分
您的timeline类是在那里引用的,还是在您导入到应用程序的其他jar中引用的?请查看导入部分
您的timeline类是在那里引用的,还是在您导入到应用程序的其他jar中引用的?
为什么我不能在类的构造函数中调用静态方法?
您可以在构造函数中调用静态方法,除非您没有访问该方法(如访问修饰符限制)的权限,否则没有人可以阻止您
您的
import
语句可能有问题。请检查TimeLine
类是否存在,或者该类是否已正确导入。为什么我不能在类的构造函数中调用静态方法?
您可以在构造函数中调用静态方法,除非您没有访问该方法(如访问修饰符限制)的权限,否则没有人可以阻止您
您的
导入
语句中可能存在问题。请检查时间线
类是否存在,或者是否正确导入了该类。dah。。。时间线未保存,因此未编译。。。我现在觉得有点傻:-/
谢谢大家 dah。。。时间线未保存,因此未编译。。。我现在觉得有点傻:-/
谢谢大家 我的猜测是:你指的不是你认为你是的
时间线
。或者可能是时间线
没有按时间线的方式编译。除此之外,代码没有其他问题。调用静态方法很好。TrackedValue.java文件中的import语句对于Timeline包是什么样子的?我猜:您不是指您认为是的Timeline
。或者可能是Timeline
未编译Timeline未编译的方式。除此之外,代码没有其他问题。调用静态方法很好。对于Timeline包,TrackedValue.java文件中的导入语句是什么样子的?TrackedValue导入如下所示:import java.text.simpleDataFormat;导入java.util.Date;导入android.util.Log;在.antonio.mytracker.graph.TimeLine导入代码>。。。所以它是我的。它只是在另一个包中,TrackedValue导入如下所示:import java.text.SimpleDateFormat;导入java.util.Date;导入android.util.Log;在.antonio.mytracker.graph.TimeLine导入代码>。。。所以它是我的。只是在另一个包裹里