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?
Acessar classe
8 Respostas
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
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…
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
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
Olá,
Primeiro, dá uma lida no tutorial indicado pelo André.
Segundo, coloque a MinhaClasse (ou seria a SuaClasse?
Desculpe, não resisti) aí pra gente ver como ela tá.
O código é esse(mas não sei se está correto):
Teste.javapublic class Teste {
public static void main(String[] args) {
MinhaClasse classe = new MinhaClasse();
System.out.println("Nome: " + classe.nome);
}
}
public class MinhaClasse {
public MinhaClasse() {
public String nome = "Paulinho";
}
}
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.
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