Como retornar propriedades de um objeto no código "main" dentro de um método?

Boa noite! (Estou fazendo um curso de orientação a objeto em java[JOO] e não manjo de programação em geral), cheguei na parte de try e catch, e antes de aplicar o que foi mostrado nas aulas decidi antes fazer uma aplicação para servir de objeto de estudo, vamos lá, no meu caso eu tenho métodos get() e set(), e um método para inicializar o “programa”, só que dentro desse método eu quero puxar as informações dentro do método main de outra Classe.
(segue código onde estão os métodos)
import java.util.Scanner;

public class Conta {

    double saldo;

public Conta(){		
}

public Conta(double saldo) {
	
	this.saldo = saldo;
	
}

public double getSaldo() {
	
	return saldo;
	
}

public void setSaldo(double saldo) {
	
	this.saldo = saldo;
	
}
	public void Iniciar() {
	
	Scanner entrada = new Scanner(System.in);
	System.out.println("Deseja realizar alguma operação? 1-Sim ou 2-Não");
	String r1 = entrada.nextLine();
	
	if (r1.equals("1")) {
		
		System.out.println("1-Sacar.\n2-Depositar.");
		String r2 = entrada.nextLine();
			
			if (r2.equals("1")) {
				
				System.out.println("Saldo Atual: " + c1.getSaldo()); // quero que o c1.getSaldo(); me traga 500, mas c1 é um objeto que não pertence a esse método, como que faria essa ligação?
				
			} else if (r2.equals("2")) {
				
				
			}						
	}	
}			

}

(código main)

public class Principal extends Conta {

public static void main(String[] args) {
	
	Conta c1 = new Conta(500); //quero que dentro do método Iniciar(); retorne 500
	
	Metodos iniciar = new Metodos();
	
	iniciar.Iniciar();
	
	 
	
}

}

Basicamente eu quero que no lugar onde está c1.getSaldo(); traga o valor que coloquei dentro do main de uma outra classe(fora do método em geral), existe alguma forma de manter o código nesse padrão e fazer esse ‘link’?

tá, pelo que entendi vc quer chamar o iniciar() da classe Conta, mas vc está chamando um OUTRO método iniciar() da classe Metodos (q vc n posto o código).
Faz o seguinte no main:

Conta c1 = new Conta(500); //quero que dentro do método Iniciar(); retorne 500
c1.Iniciar();

Troca por:
System.out.println("Saldo Atual: " + getSaldo());

1 curtida

+1

A partir do momento em que vc cria um instância de um objeto, é possível acessar diretamente os seus comportamentos (métodos), claro, levando em consideração o modificadores de acesso de cada método implementado.

Como vc criou um objeto Conta, é possível acessar o método Iniciar() desta instância. Conta.Iniciar().

1 curtida

Desculpa, antes eram 2 classes diferentes Conta e Métodos, mas passei todos os métodos para a classe Conta para poder simplificar. Muito obrigado pela ajuda! :grin::+1:

‘System.out.println("Saldo Atual: " + getSaldo());’ A minha dúvida era exatamente essa, eu simplismente não fiz o “c1.iniciar();”, então quando eu colocava apenas o “getSaldo()” ele retornava 0, pois ele puxava da variável iniciada na classe e não do objeto conta ‘c1’. Vlw pela ajuda! :grin::+1: