Java 带有toString()的私有变量
大家好,我正在创建一个购物车程序,并尝试创建一个toString()方法 这是我的高尔夫课Java 带有toString()的私有变量,java,Java,大家好,我正在创建一个购物车程序,并尝试创建一个toString()方法 这是我的高尔夫课 package ShoppingCart; public class GolfHat extends Product { private String name; private String colour; private String make; private double price; public GolfHat(String type, Strin
package ShoppingCart;
public class GolfHat extends Product {
private String name;
private String colour;
private String make;
private double price;
public GolfHat(String type, String make, String name, String colour,double price) {
this.type = "hat";
name = name;
colour = colour;
make = make;
price = price;
}
我的产品类别是
package ShoppingCart;
public class Product {
public String type ;
public String toString (){
if (type=="hat" ) {
System.out.println ("Type: " + type + "\t" + "Make: " + make);
return type;
}
if (type=="Glove"){
}
return "cant find";
}
它不允许我使用make变量,我认为它不允许我这样做,因为我的变量是私有的,但是在我的评估中,我需要展示一个封装的示例,我正在努力查看我还可以在哪里执行它第一个编译错误:
System.out.println ("Type: " + type + "\t" + "Make: " + make);
if (type=="Glove"){
}
Product
没有make
实例变量。它的子类GolfHat
声明变量。子类继承一个超类的非私有成员,反之则不行
逻辑错误:
System.out.println ("Type: " + type + "\t" + "Make: " + make);
if (type=="Glove"){
}
这是比较字符串内容的错误方法。改用equals()
方法
if ("Glove".equals(type)){
}
您应该在
golfHat
public class GolfHat extends Product
{
public String toString ()
{
// you can use make here
}
}
Golfhat是产品的一个子类。产品对make一无所知,不应该知道。
您可以从start开始阅读。剩下的应该是显而易见的。@jlordo-Nope,虽然字符串比较的方法是错误的,但代码甚至没有编译,因为他试图访问一个私有变量。这不是重复的。