Acessar classe

8 respostas
P

Bom dia, eu estou começando a estudar java, e vi em algumas apostilas que o editor cria uma classe em um arquivo separado.
por ex: eu tenho o arquivo main.java e um outro conecta.java, como eu faço pro arquivo main enxergar os atributos que estão no conecta.java?

8 Respostas

Andre_Fonseca

Oi,

Depende dos modificadores de acesso

Se os atributos da classe estiverem declarados como public você acessa diretamente no Main assim

class Main {

  public static void main(String args[]) {
     MinhaClasse classe = new MinhaClasse('10',200,3);
     System.out.println(classe.atributo) ;
  }
}

Abs

colored

Eh como ele disse x)…

Cria um Objeto da Classe q ai esse objeto enxerga o metodo…

Tipo mas se o modificador for private, ai vc tem q cria get e/ou set do atributo pra acessar ele…

P

Quando eu digito: System.out.println("Nome: " + classe.atributo), aparece o seguinte erro:

cannot find symbol
symbol: variable atributo
location: test.MinhaClasse

operator + cannot be applied to java.lang.String, test.MinhaClasse.atributo

Andre_Fonseca

Aparentemente ele não reconheceu o nome atributo, posta o código aqui da sua classe e do Main usando as tags code assim

meu código

Abs

O

Olá,

Primeiro, dá uma lida no tutorial indicado pelo André.
Segundo, coloque a MinhaClasse (ou seria a SuaClasse? :smiley: Desculpe, não resisti) aí pra gente ver como ela tá.

P

O código é esse(mas não sei se está correto):

Teste.java
public class Teste {
    
    public static void main(String[] args) {
    	MinhaClasse classe = new MinhaClasse();
    	System.out.println("Nome: " + classe.nome);
    }
}
MinhaClasse.java
public class MinhaClasse {

    public MinhaClasse() {
    	public String nome = "Paulinho";
    }
    
    
}
R
Tenta...
public class MinhaClasse {
	String nome;

    public MinhaClasse() {
    	nome = "Paulinho";
    }
}

O pessoal com mais experiência pode explicar o porque funciona com o atributo declarado fora do construtor.

Andre_Fonseca

quando você declara algo assim

class MinhaClasse {

	private int minhaVariavel;

	public static void main (String args[]) {
		MinhaClasse minhaClasse = new MinhaClasse();
		System.out.println(minhaClasse.minhaVariavel);
	}
}

Você está declarando uma variável de instância, ou seja, quando você fizer o new - instanciar o objeto - esta variável irá ser inicializada com o valor default, 0 para int, 0.0 para double, null para objetos, assim por diante..

Aqui tem mais detalhes de fundamentos da linguagem, bons estudos :D

Criado 29 de julho de 2008
Ultima resposta 29 de jul. de 2008
Respostas 8
Participantes 5