【发布时间】:2016-11-16 19:50:56
【问题描述】:
我第一次在 Java 中使用面向对象编程,直到现在还没有遇到任何问题。
我有一个客户类(省略不相关的细节):
public class Customer {
public String bikesOwned;
public Customer() //Default Constructor
{
bikesOwned = "";
}
public Customer(String aBike) //Parameterized Constructor
{
addBike(aBike);
}
public void addBike (String aBike) //Mutator Method for Bikes Owned
{
bikesOwned = aBike;
}
public String toString()
{
String returnBikes = bikesOwned.toString();
return returnBikes;
}
}
我有一个 Bike Tester 类,它使用我的 Bicycle 类中的信息:
public class bikeTester {
public static void main (String [] args)
{
Bicycle hisBike = new Bicycle(Bicycle.BikeType.Hybrid Bicycle.UserType.Men,
Bicycle.FrameMaterial.Carbon, Bicycle.BrakeType.Caliper,
Bicycle.Condition.Used, 29, 18, 10, "REI", "Black");
Customer don = new Customer();
don.setFirstName("Don");
don.setLastName("Norman");
don.setPhoneNumber("804 123-4567");
don.setEmailAddress("dnorman@aol.com");
don.addBike(hisBike);
System.out.println(don);
System.out.println();
}
我的问题是,当我编译时,我得到了这个错误:
“客户中的 addBike(java.lang.String) 不能应用于(自行车)”。
我不明白为什么除了addBike 之外的其他一切都正常工作。有任何想法吗?非常感谢任何输入。
【问题讨论】:
-
addBike(java.lang.String)。Bicycle不是String。 -
不相关,但如果您想拥有多个,
bikesOwned应该是List<Bike>,这是由“自行车s拥有”所暗示的