Jump to content

Aceder a métodos de outro package


FDomingos

Recommended Posts

Boas, estou a desenvolver uma aplicação composta por 2 packages, um com a parte funcional da aplicação, como o nome app.application e outro com as interfaces com o utilizador, cujo nome é app.ui .

No entanto preciso de aceder, a partir da interface aos métodos do package app.application a partir do package app.ui .

Por exemplo:

Se criar um objecto da seguinte forma, a partir de um frame da class app.ui:

Dado d = new Dado();

Nota: A classe Dado está presente no package app.application

Dá erro, dizendo algo do tipo class not found.

Alguém me podia ajudar a resolver este pequeno problema???

Obrigado

Link to comment
Share on other sites

Explicando melhor o que o falk0n disse, para acederes a métodos de classes em package diferentes daquele em que estás a usar os objectos tens de indicar o nome completo para a classe, seja indicando na declaração da variável o nome seja usando a directiva import para indicar que classes queres importar. A directiva import tem de ser colocada depois da directiva package.

Assim o seguinte código faz o que pretendes:

package app.ui;

import app.application.Dado;//Importar apenas a classe Dado dentro do package app.application

//Declaração da classe e seus métodos
//(...)

Uma alternativa:

package app.ui;

public class UIClass {

    private app.application.Dado d = new app.application.Dado();

    //Restante código da classe
    //(...)

Outra alternativa:

package app.ui;

import app.application.*;//Importar todas as classes dentro do package app.application

//Declaração da classe e seus métodos
//(...)

Podes ter quantos imports quiseres, não convém é importar a mesma classe duas vezes 😉, e podes ter umas classes usando a directiva import e outras acedendo através do nome completo a classe.

Já agora, e não sei se colocaste apenas como exemplo ou não, mas os nomes que usaste para os packages não são muito bons. O nome de um package tem de ser único, com esses nomes corres o risco de existirem outras aplicações com packages de nomes iguais.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.