2013-06-20 4 views
-6

Привет, ребята Я создаю программу, которая является магазинной тележкой, и я пытаюсь создать метод toString().Закрытая переменная с toString()

Это мой GolfHat класс

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"; 

    } 

это обыкновение позвольте мне использовать переменную грим, я думаю, что это обыкновение позвольте мне сделать это вызвать мои переменные но, тем не менее, для части моей оценки мне нужно показать пример инкапсуляции, и я стараюсь увидеть, где еще я смогу это сделать

+1

Начать [здесь] (http://ru.wikipedia.org/wiki/JavaBeans#JavaBean_conventions). Остальное должно быть очевидно. –

+1

@jlordo Нет, хотя сравнение строк выполняется не так, код даже не компилируется, потому что он пытается получить доступ к частной переменной. – cesarse

+0

Это не дубликат. – NINCOMPOOP

ответ

1

Первый comp Ошибка ilation:

System.out.println ("Type: " + type + "\t" + "Make: " + make); 

Product не имеет переменную make экземпляра. Его подкласс GolfHat объявляет переменную. Подкласс наследует не-частные члены суперкласса, он не работает наоборот.

Логическая ошибка:

if (type=="Glove"){ 

    } 

Это ошибочный способ сравнения содержимого String. Вместо этого используйте метод equals().

if ("Glove".equals(type)){ 

    } 
0

Вы должны добавить метод коррекции toString к вашему golfHat

public class GolfHat extends Product 
{ 
    public String toString() 
    { 
     // you can use make here 
    } 
} 
0

Golfhat является подклассом продукта. Продукт ничего не знает о make и не должен знать. Вы можете начать чтение с inheritance tutorial