use*_*658 0 java eclipse constructor
你好,我是Java的新手.我正在尝试创建一个对象并通过它传递名称.我不知道我做错了什么?
public class Employee
{
private String name, number;
private String date;
public Employee()
{
name= "";
number = "";
date = "";
}
public Employee(String name, String number, String date)
{
setName(name);
setNumber(number);
setDate(date);
}
public void setName(String n)
{
name = n;
}
public void setNumber(String n)
{
number = n;
// you can check the format here for correctness
}
public void setDate(String d)
{
date = d;
}
public String getName()
{
return name;
}
public String getNumber()
{
return number;
}
public String getDate()
{
return date;
}
}
import java.util.Scanner;
public class TeamLeadDemo
{
public static void main(String[] args)
{
String name;
// create scanner object
Scanner keyboard = new Scanner(System.in);
// inputting data
System.out.println("Enter Name:");
name = keyboard.nextLine();
// instantiating object, HERE IS THE PROBLEM
Employee thename = new Employee(name);
// outputting data
System.out.println("Employee Name:"+thename.getName());
System.out.println("Employee Details:\n" + thename);
}
}// Function definition
Run Code Online (Sandbox Code Playgroud)
我该怎么办??
嘿同胞新手程序员!
看看如何初始化对象:
Employee thename = new Employee(name);
Run Code Online (Sandbox Code Playgroud)
由于您只将String名称作为参数提供,因此Java无法初始化您的Employee对象,因为它没有单个参数构造函数!
以下是您的构造函数方法签名:
public Employee()
public Employee(String name, String number, String date)
Run Code Online (Sandbox Code Playgroud)
一个不带参数,另一个带3个参数.
如果你看一下初始化它的方式,你只传递1个参数!
您需要创建一个具有单个参数的新构造函数,以便您的代码能够正常工作.或者更简单,您可以传入"",""作为您的数字和日期字符串值.
更有经验的程序员如果错误,请不要犹豫,纠正我的编程语义.我觉得我正在使用我不完全理解的词语.
| 归档时间: |
|
| 查看次数: |
596 次 |
| 最近记录: |