• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

FDomingos

Aceder a métodos de outro package

4 mensagens neste tópico

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

e o import da classe ou do package no total ?

boas programacoes

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Muito, mas muito obrigado pela vossa ajuda, funcionou às mil maravilhas!

Abraços

E mais uma vez obrigado!

Knitter, agradeço-te imenso pela paciência que tiveste em explicar tão detalhadamente. Muito obrigado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora