构造函数Time_Class_sub(int,int,int)未定义

时间:2016-04-23 11:15:43

标签: java constructor

我不知道为什么我被告知构造函数NSFileManager未定义。 int 4,5,6已经在括号中说明了。

这是主要课程:

Time_Class_sub(int, int, int)

这是附属类:

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());
    }
}

2 个答案:

答案 0 :(得分:1)

类的构造函数没有返回类型 - 甚至无效。在您的情况下,您指定了一个普通的实例方法,该方法偶然与该类具有相同的名称(请记住,字段,类型名称和方法名称实际上有三个不同的名称空间)。

只需删除void即可设置。

另外,请关注Java naming conventions - 您的班级名称应为TimeClassSub

编辑:如果这是生产代码,而不仅仅是作业,请为了所有神圣的内容而阅读this

答案 1 :(得分:0)

尝试

public class Time_Class_sub
{
  private int hour {get; set;}
  private int minute {get; set;}
  private int second {get; set;}

  public 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);
  }
}

您也可以考虑实现一个名为

的函数
public override string ToString()
{
   return String.format("%02d:%02d:%02d", hour, minute, second);
}

如果您使用c#编程(请将您的编程语言添加为标记)