Classes e métodos -

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();

}} 

Agradeço,
Ana.

Oi,

http://www.inf.furb.br/~poo/transparencias/poo-classes.pdf

Boa sorte! :stuck_out_tongue:

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;
}

}[/code]

[code]package p1;

public class Classe2 {

public void teste() {

    Classe1 c1 = new Classe1();

    System.out.println( c1.v1 );
    System.out.println( c1.v2 );
    System.out.println( c1.v3 );

    c1.v1 = 6;
    c1.v2 = 6;
    c1.v3 = 6;
    
    System.out.println( c1.v1 );
    System.out.println( c1.v2 );
    System.out.println( c1.v3 );

}

}[/code]

[code]package p2;

import p1.Classe1;

public class Classe3 {

public void teste() {

    Classe1 c1 = new Classe1();

    System.out.println( c1.v1 );

    // erro...
    System.out.println( c1.v2 );

    // erro tbm...
    System.out.println( c1.v3 );

}

}[/code]

[code]package p;

import p1.Classe2;
import p2.Classe3;

public class Main {

public static void main(String[] args) {

    Classe2 c2 = new Classe2();
    c2.teste();

    Classe3 c3 = new Classe3();
    c3.teste();

}

}[/code]