Ajuda instanciar objeto de outra classe

Ooi gente, estou fazendo uma aplicação, para uma escola, e eu preciso intanciar um objeto de outra classe, mas não estou conseguindo. Alguém pode me ajudar??

A minha classe onde estou instanciando o objeto está assim oh:

[code]import cadastro.persistencia.memoria.PersistenciaMemoriaCurso;

public class Interfaces extends MIDlet implements CommandListener{
PersistenciaMemoriaCurso persistenciaCurso = new PersistenciaMemoriaCurso();[/code]

no Command action está assim:

PersistenciaMemoriaCurso novo = new PersistenciaMemoriaCurso(); PersistenciaMemoriaCurso.adicionar(StringNovoCurso);

StringNovoCurso é a String que eu estou armazenando o texto que a pessoa digitou que tenho que mandar pra classe PersistenciaMemoriaCurso.
Eu quero instanciar o método adicionar que está na classe aqui em baixo, mas qdo escrevo essa linha da erro na palavra “adicionar”.

[b]

e a classe PersistenciaMemoriaCurso está assim:[/b]

[code]package cadastro.persistencia.memoria;

import cadastro.entidade.Curso;
import cadastro.persistencia.EntidadeInconsistenteException;
import cadastro.persistencia.EntidadeNaoEncontradaException;

public class PersistenciaMemoriaCurso {

private int ARRAY_BUFFER_CURSOS = 10;

private Curso[] cursos;

public PersistenciaMemoriaCurso() {
	this.cursos = new Curso[ARRAY_BUFFER_CURSOS];
}

public void adicionar(Curso curso) throws EntidadeInconsistenteException {
	
	if( curso.nome == null ) {
		throw new EntidadeInconsistenteException("O objeto curso nao pode ter todos os atributos nulos");
	}
	
	for( int i = 0; i < ARRAY_BUFFER_CURSOS; i++ ){
		if( cursos[i] == null ){
			cursos[i] = curso;
			return;
		}
	}
	
	this.aumentaCursos(cursos);
	adicionar(curso);
}

public int buscar(Curso curso) {
	for( int i = 0; i < ARRAY_BUFFER_CURSOS; i++ ){
		Curso aux = cursos[i];
		if( aux == null ){
			return -1;
		} else if( aux.equals(curso) ){
			return i;
		}
	}
	return -1;
}

public void remover(Curso curso) throws EntidadeNaoEncontradaException {
	int idx = this.buscar(curso);
	if( idx != -1 ){
		if( idx < (ARRAY_BUFFER_CURSOS - 1) && cursos[idx + 1] != null){
			for( int i = idx + 1; i < ARRAY_BUFFER_CURSOS; i++ ){
				if( cursos[i] != null ){
					cursos[i - 1] = cursos[i];
					cursos[i] = null;
				}
			}
		} else {
			cursos[idx] = null;
		}
	} else {
		throw new EntidadeNaoEncontradaException("O curso '" + curso.nome + "' nao existe na base de dados");
	}
}

public Curso[] getListaCurso() {
	int ult = 0;
	for( int i = 0, l = cursos.length; i < l; i++ ){
		if( cursos[i] == null ){
			ult = i;
			break;
		}
	}
	
	Curso[] ret = new Curso[ult];
	for( int i = 0, l = ret.length; i < l; i++ ){
		ret[i] = cursos[i];
	}
	return ret;
}

private Curso[] aumentaCursos(Curso[] cursos){
	Curso[] novo = new Curso[cursos.length + ARRAY_BUFFER_CURSOS];
	ARRAY_BUFFER_CURSOS = novo.length;
	for( int i = 0, l = cursos.length; i < l; i++ ){
		novo[i] = cursos[i];
	}
	return novo;
}

}[/code]

Por favor me ajudem, faz parte do exercicio eu nao mudar essa classe PersistenciaMemoriaCurso, então me auxiliem na classe de cima, por favor!!

Obrigada

Essa é fácil!

Você esta fazendo

PersistenciaMemoriaCurso novo = new PersistenciaMemoriaCurso(); PersistenciaMemoriaCurso.adicionar(StringNovoCurso);

Mas o método adicionar() Não é estático! Você pode fazer de duas formas:

  1. utiliza o método através do objeto criado, e não por meio da classe.

PersistenciaMemoriaCurso novo = new PersistenciaMemoriaCurso(); novo.adicionar(StringNovoCurso); // porque adicionar não é static

OU
2) modifique o método adicionar para static, assim voce pode acesa-lo sem necessidade de um objeto, ou seja, pode acesa-lo atravez do nome da classe.

public static void adicionar(Curso curso) throws EntidadeInconsistenteException 
{
       if( curso.nome == null ) 
       {
          throw new EntidadeInconsistenteException("O objeto curso nao pode ter todos os atributos nulos");
       } 
}

ooi, eu fiz a primeira opção que voce disse, pois faz parte do exercício nao alterar as outras classes e ele continuou dando erro na palavra adicionar e deu essas opções:

Create method ‘adicionar(String)’ in type PersistenciaMemoriaCurso
Change type of ‘StringNovoCurso’ to 'Curso’
Change method ‘adicionar(Curso)’ to ‘adicionar(String)’

e aii, qual q eu escolho "/

é o seguinte:

Na declaracão do método adicionar:

public void adicionar(Curso curso) // Aki, indica que, quando você for utiliza-lo, deve passar um Objeto do tipo curso
 throws EntidadeInconsistenteException {

if( curso.nome == null ) {
throw new EntidadeInconsistenteException("O objeto curso nao pode ter todos os atributos nulos";
} 

Como comentei no código, o métod espera um objeto do tipo Curso. Mas vc esta passando um String. Vc deve ter também o cigo da classe Curso ai, instancie um objeto dela e faca:

novo.adicionar(meuCurso);