Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JAVA-使用另一个方法类中的方法_Java_Class_Methods - Fatal编程技术网

JAVA-使用另一个方法类中的方法

JAVA-使用另一个方法类中的方法,java,class,methods,Java,Class,Methods,我有两个班;第一个具有以下代码: public class Artigo { private String descricao; private double preco; private int stockCorrente; public Artigo(String descricao, double preco){ Artigo(descricao, preco, 0); } private void Artigo(String descricao, double preco,

我有两个班;第一个具有以下代码:

public class Artigo {

private String descricao;
private double preco;
private int stockCorrente;

public Artigo(String descricao, double preco){
    Artigo(descricao, preco, 0);

}
private void Artigo(String descricao, double preco, int stockCorrente){
    this.descricao = descricao;
    if (preco < 0 || stockCorrente < 0) {
        System.out.println("Erro: Valores negativos.");
        System.exit(0);
    } else
        this.preco = preco;
        this.stockCorrente = stockCorrente;
}
public String getDescricao(){
    return descricao;
}
public double getPreco(){
    return preco;
}
public void setPreco(double preco){
        this.preco = preco;
}
public int getStockCorrente(){
    return stockCorrente;
}
public boolean isStockEnough(int nUnits){
    if (stockCorrente < nUnits){
        return false;
    }else{
        return true;
    }
}
public boolean sell(int nUnits){
    if (isStockEnough(nUnits)){
        stockCorrente = stockCorrente - nUnits;
        return true;
    }else{
        return false;
    }
}
public void recharge(int nUnits){
    stockCorrente = nUnits;
}
public boolean equals(Artigo otherProducts){
    return this.descricao.equalsIgnoreCase(otherProducts.descricao);
}
public String toString(){
    return descricao + ", preço: " + preco + ", stock: " + stockCorrente;
}
在这个类中,所有的方法都是必需的。 它们大部分都是空的,因为我不知道在那里该做什么。 我是说,我知道该做什么,我不知道该怎么做


请求是:向包装中添加物品,获取每个物品的名称和当前库存。这里我需要让它们与另一个类的方法相连接,对吗?但是怎么做呢?

你应该在包中声明一个对象

private Artigo artigo;
然后可以在构造函数包中初始化此对象

public Pack(String descricao, double desconto){
artigo =new Artigo(descricao,desconto);
this.descricao = descricao;
this.DESCONTO = desconto;
}
之后,你可以使用artigo by的方法

artigo.sell(1);

根据您的需要

或者您可以从基类进行扩展

public class Pack extends Artigo{
    public Pack(String descricao, double desconto){
            super(descricao,desconto);
}
}

若要访问基类的方法,只需键入super.methodname

您的问题是将一个类的数据访问到另一个类,这可以通过使用get方法来完成,即使您可以通过保持set方法来设置数据。 例:

现在如果我想访问B类中的价格数据,那么

class B
{
//create object of class A in any method where you want to access price data
A a=new A();
int price =a.getPrice();
}

好吧,这对我没有帮助。如何在getStockCorrente方法的类包中获取Artigo类上stockCorrente的值?只需int i=super.getStockCorrente();好吧,这对我没有帮助。如何在方法getStockCorrente的类包中获取类Artigo上stockCorrente的值?int i=Artigo.getStockCorrente();
class A
{
private int price;

public int getPrice()
{
return price;
}

public void setPrice()
{
this.price=price;
}
}
class B
{
//create object of class A in any method where you want to access price data
A a=new A();
int price =a.getPrice();
}