Olá comunidade,
Tenho uma dúvida de iniciante. Como eu me refiro aos métodos e variáveis de classes em mesmo pacote?
Por exemplo na Classe2 quero me referir a string pass1 da classe1 e também ao método acaoAcessar1.
package escritorio;
public class Classe1 extends javax.swing.JFrame {
public void acaoAcessar1() {
String pass1 = "123";
pass1 = txtPass.getText();
}}
package escritorio;
public class Classe2 extends javax.swing.JFrame {
public void acaoAcessar2() {
String pass2 = "345";
pass2 = txtPass.getText();
}}
Boa noite, você pode fazer este acesso criando objetos da classe que você deseja acessar ex:
Classe1 c = new Classe1();
c.<metodo da classe1>.
porém você deve observar o encapsulamento que foi aplicado ao metodo ou atributo, caso o atributo seja privado que é o aconcelhavel, você deverá ter um método public para escrever ou ler os dados dos atributos onde por padrão inicia-se o nome do metodo com get ou set onde get tem retorno do tipo do atributo e o set recebe um argumento que será armazenado no atributo caso o argumento tenha o mesmo nome do atributo voê ainda poderá usar a palavra reservada this para distinguir as mesmas. Outra maneira é colocar os atributos e ou métodos publicos e estáticos, desta maneira você poderá acessar diretamente de outras classes, utilizando apenas o nome da classe.<método>[…], porém como já citado antes isto não é aconselhavel para atributos, já que digamos “cada classe é responçavel por roteger seu dados”…
As variáveis que você quer acessar estão declaradas dentro de métodos, então elas tem escopo local.
Se você quer referenciar diretamente uma variável de instância de uma classe, vc deve definir as variáveis como public, protected ou default (sem modificador de acesso). Lembre-se que essa é uma péssima prática, pois você quebra o encapsulamento. Protected e default terão o mesmo efeito para o exemplo.
[code]package p1;
public class Classe1 {
public int v1;
protected int v2;
int v3;
public Classe1() {
v1 = 1;
v2 = 2;
v3 = 3;
}