Erro de classes ao compilar

estou compilando um programa meu e esta com os seguintes erros:

1-client/clientHP: cannot resolve symbol
symbol: class N_Operations
Location: class ClienteHP
N_Operations c_obj;

2- client/clientHP: cannot resolve symbol
symbol: class N_Operations
Location: class ClienteHP
c_obj=new N_Operations();

public class ClientHP extends UnicastRemoteObject implements RMI {

public ClientHP() throws RemoteException
  {
	super();
   }
 public void initHP(){
 		N_Operations c_obj;
	c_obj = new N_Operations();
	c_obj.c_initHP();
}

o que estou fazendo de errado?

De onde vem esta classe N_Operations?

Vc a importou?

Vc que criou a classe N_Operations? ou vem de algum pacote que vc abaixou da net?

a classe foi criada e nao tirada da net e a classe nao foi importada:

public class N_Operations{
	public native void c_initHP();
        public native void c_centerFreq(String freq);
        public native void c_startFreq(String freq);
        public native void c_stopFreq(String freq);
        public native void c_on();
        public native void c_next();

	static{
		try {
			System.loadLibrary("jni");
			System.out.println("Carregou biblioteca");
		}

		catch(UnsatisfiedLinkError e) {
			System.out.println(e.getMessage());
		}
	}
        
       
}

Primeiramente: sua classe tem métodos abstratos, por isso: public native void c_centerFreq(String freq);. Mas tem alguns erros. O primeiro é que quando vc define um método abstrato, vc não pode usar native, isso dará um erro de compilação. E seu método deve ser explicitamente definido como abstract. Como vc irá ter métodos abstratos, sua classe tb deve ser definida como abstract.

Agora quanto a importação, se a classe N_Operations estiver no mesmo pacote não é preciso importar, mas se não tiver será necessário…

E outra coisa… vc não poderá instânciar N_Operations, pois ela é abstrata (dará erro na outra classe).

blz? :wink:

ok, cfme abaixo ja arrumei o problema da class abstract=

public abstract class N_Operations{

       public abstract void c_HPgeneric(String str);
        public abstract void c_initHP();
        public abstract void c_centerFreq(String freq);
        public abstract void c_startFreq(String freq);
        public abstract void c_stopFreq(String freq);
        public abstract void c_on();
        public abstract void c_next();

mas agora, se eu nao posso instanciar N_Operations como eu acesso oo metodos da classe N_Operations?
Antes eu tinha assim:

public void initHP(){
                  
                System.out.println("estou em zoom , ClientHP");
		N_Operations c_obj;
		c_obj = new N_Operations();
		c_obj.c_initHP();
	}

como faço agora?

Vc terá que criar uma outra classe que estenda N_Operations e implemente todos ou partes dos métodos abstratos, mas para vc instânciar a classe, terá que ter uma classe concreta (que não seja abstrata) que É UM N_Operations.

Blz?

quer dizer que eu terei uma classe abstrata N_Operations e outra classe, por ex.:
public class ClientHP extends N_Operations{

e ainda outra classe onde eu terei meu metodos implementados da classe abstrata e que sao chamados na classe ClienteHP?
é isso?

não é isso, hehehe, primeiro: vc pode implementar teus métodos na classe abstrata, mas pra instanciar e usar esses métodos, precisa ter uma classe concreta… por ex, é valido fazer:

[code]public abstract class X {

public void m() { System.out.print( “eu amo o portal” ); }

}

class Y extends X {

public static void main( String args[] )
{
X x = new Y();

x.m();
}

}
[/code]

como tb é valido fazer (como o javateco disse):

[code]public abstract class X {

public void m()

}

class Y extends X {

public void m() { System.out.print( “eu amo o portal” ); }

public static void main( String args[] )
{
X x = new Y();

  x.m();

}

}
[/code]

tu só tem 2 classes, a abstrata, e a concreta e implementa a abstrata…