Duvida no código se fiz de maneira certa

Esse é um exercício do trabalho qu to fazendo achei o resultado mais nao sei se fiz de maneira correta.
Se puderem me tirar essa duvida agradeço.

[quote]Crie uma classe em Java chamada Fatura que seria utilizada por uma loja de ferragens1. Esta
classe deverá conter as seguintes características para representá-la:
a) Código da peça vendida na ferragem (ex. 55123)
b) Descrição da peça (ex. Alicate de Pressão Taurus)
c) Quantidade do item comprado (ex. 2)
d) Preço por item (ex. R$22,50)

Além das características listadas acima, a classe Fatura deverá respeitar os seguintes requisitos:

a) Construtor default que inicialize todos os atributos numéricos da classe com o valor
0 (zero)
b) Construtor que inicialize todos os atributos da classe passados por parâmetro
c) Criar setters/getters para todos os atributos da classe
d) Criar um método chamado obterValorFatura que calcule o valor final da fatura com
base no seu preço e na quantidade comprada e retorne este cálculo para quem
executou o método
Crie uma classe Teste para instanciar uma Fatura e testar o seu programa. No exemplo acima, ao
executarmos o método[/quote]

[code]public class Fatura {

private int codigoPÇ;
private String descriçaoPÇ;
private int quantidadePÇ;	
private double preçoItem;

public Fatura(){
	codigoPÇ = 0;
	quantidadePÇ = 0;
	preçoItem = 0;
	
}


public Fatura (int codigoPÇ, String descriçaoPÇ, int quantidadePÇ, double preçoItem){
	this.codigoPÇ = codigoPÇ;
	this.descriçaoPÇ = descriçaoPÇ;
	this.quantidadePÇ = quantidadePÇ;
	this.preçoItem = preçoItem;
	
}


public int getCodigoPÇ() {
	return codigoPÇ;
}


public void setCodigoPÇ(int codigoPÇ) {
	this.codigoPÇ = codigoPÇ;
}


public String getDescriçaoPÇ() {
	return descriçaoPÇ;
}


public void setDescriçaoPÇ(String descriçaoPÇ) {
	this.descriçaoPÇ = descriçaoPÇ;
}


public int getQuantidadePÇ() {
	return quantidadePÇ;
}


public void setQuantidadePÇ(int quantidadePÇ) {
	this.quantidadePÇ = quantidadePÇ;
}


public double getPreçoItem() {
	return preçoItem;
}


public void setPreçoItem(double preçoItem) {
	this.preçoItem = preçoItem;
}

// Aqui eu nao sei se fiz da maneira certa
public static double obterValorFatura(Fatura quantidade, Fatura preço) {
	double valor = quantidade.getQuantidadePÇ()*preço.getPreçoItem();
	return valor;

}

}[/code]

Minha principal duvida era como fazer essa parte

[quote]“Criar um método chamado obterValorFatura que calcule o valor final da fatura com
base no seu preço e na quantidade comprada e retorne este cálculo para quem
executou o método
Crie uma classe Teste para instanciar uma Fatura e testar o seu programa. No exemplo acima, ao
executarmos o método”[/quote]

[code]public class Teste {

public static void main(String[] args) {
	
	Fatura ferragem = new Fatura();
	ferragem.setCodigoPÇ(533);
	ferragem.setDescriçaoPÇ("Pincel Confort Lingua de Gato");
	ferragem.setPreçoItem(11.25);
	ferragem.setQuantidadePÇ(4);
	 
	System.out.println("R$"+Fatura.obterValorFatura(ferragem, ferragem));[/code]

Vamos lá:

  • no metodo onde você marcou o comentário tem mais de uma maneira de se fazer:

primeira:

//perceba que nesse metodo eu so preciso de um parametro pois os dois atributos são da mesma instancia da classe Fatura
 public double obterValorFatura(Fatura fatura) {  
        double valor = fatura.getQuantidadePÇ()*fatura.getPreçoItem();  
        return valor;  
      
    }  

segunda:

//esse metodo é mais dinâmico e menos redundante 
 public double obterValorFatura() {  
        double valor = getQuantidadePÇ()*getPreçoItem();  
        return valor;  
      
    }  

caso você use uma dessas formas na sua classe Teste a chamada do metodo mudara e ficara assim:

 System.out.println("R$"+ferragem.obterValorFatura()); 
//ou assim:
 System.out.println("R$"+ferragem.obterValorFatura(ferragem)); 

porém por motivos lógicos o mais fácil e que representa a orientação a objetos é a segunda opção.
Ps: O metodo não precisa ser ter a palavra chave “static” pois você tem uma instancia da classe inicializada.

-Outra dica é evitar colocar caracteres como ç ~ e outros nos nomes da variáveis é uma boa pratica

fora estes itens o restante está de acordo com o enunciado do exercício.

O static eu sei q nao vai depois quando eu estava revisando o codigo que vi que avia colocado ele no metodo kkk
Valeu pela dica dobre as variaveis