我不知道为什么有人告诉我构造函数 Time_Class_sub(int, int, int)
未定义。 int 4,5,6 已在括号中说明。
这是主类:
public class Time_Class_main {
public static void main(String [] args){
Time_Class_sub linktosub = new Time_Class_sub(4, 5, 6);
//linktosub.settime(3, 4, 65);
System.out.println(linktosub.tomilitary());
}
}
这是子类:
public class Time_Class_sub {
private int hour;
private int minute;
private int second;
public void Time_Class_sub(int h, int m, int s){
//if the condition is met, assign hour = h. If not, h = 0
hour = ((h >= 0 && h < 24) ? h : 0);
minute = ((m >= 0 && m < 60) ? m : 0);
second = ((s >= 0 && s < 60) ? s : 0);
}
public String tomilitary () {
return String.format("%02d:%02d:%02d", hour, minute, second);
}
}
最佳答案
类的构造函数没有返回类型——甚至没有返回类型。在您的例子中,您指定了一个普通的实例方法,该方法意外地与类具有相同的名称(请记住,实际上存在三个不同的字段 namespace 、类型名称和方法名称)。
只需删除 void
即可。
另外,请关注Java naming conventions - 你的类名应该是TimeClassSub
。
编辑:如果这是生产代码而不仅仅是作业,请为了神圣的一切而阅读 this .
关于java - 构造函数 Time_Class_sub(int, int, int) 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36810089/