2017-10-05 6 views
0

Im obtenir ce problème dans mon constructeur je veux être en mesure de prendre supplierName de la classe de fournisseur et l'ajouter au produit.Java Rest héritage constructeur

public class Product { 

    private long id; 
    private long barcode; 
    private String description; 
    private String zone; 
    private int quantity; 

    Supplier supplierName; 


    public Product(){ 


    } 

    public Product(long id, long barcode, String description, String zone, 
        int quantity, Supplier supplierName) { 
     super(); 
     this.id = id; 
     this.barcode = barcode; 
     this.description = description; 
     this.zone = zone; 
     this.quantity = quantity; 
     this.supplierName = supplierName; 

    } 

Mais le problème réside quand je reçois à ma classe de service de produits

public class ProductService { 

    private Map<Long, Product> products = DatabaseClass.getProducts(); 

    public ProductService(){ 
     products.put(1L,new Product(1,1,"Lighter","Gift",5000,"Supplier1")); 
     products.put(2L,new Product(2,2,"Lighter","Gift",3500,"supplier2")); 

    } 

its me donner une erreur pour la supplier1 & supplier2.

Toute aide serait appriciée.

+2

Quelle erreur cela vous donne-t-il? –

+0

Il serait utile si vous pouviez ajouter l'erreur que vous recevez à votre question - il devrait inclure un numéro de ligne où le problème se produit –

+0

Supprimer arguements pour correspondre à «Produit» – college1

Répondre

1

Si vous modifiez la mise en forme de votre code, vous pouvez voir clairement que vous essayez d'analyser les chaînes "Supplier1" et "supplier2" au constructeur, qui accepte le Supplier comme type d'objet.

Si vous avez une classe définie Supplier, changer l'appel du constructeur à:

products.put(2L,new Product(2,2, "Lighter","Gift",3500,new Supplier(...))); 

Ou si le fournisseur est censé être la chaîne, changer sa déclaration et le constructeur.

private String supplier; 

public Product(long id, long barcode, String description, String zone, int quantity, String supplier) { .... } 

La conclusion dans tous les cas est: S'il vous plaît, faites-le formatage! :)

0

Vous donnez à cordes en "Supplier1" et Supplier2, alors que le constructeur attend l'objet "Supplier"